Есть ли немного лучше IDOMImplementation кроме MSXML?

В Delphi существует 3 доступных IDOMImplementation:

  1. MSXML
  2. Xerces XML
  3. ADOM XML v4

MSXML является IDOMImplementation по умолчанию.

Мой тест является количеством, время должно загрузить XML-файл 10 МБ. Я использую единицу Delphi, сгенерированную от XSD с помощью привязки данных XML для загрузки XML-файла. Эта единица имеет 3 общих функции:

function Getmenubar(Doc: IXMLDocument): IXMLMenubarType;
function Loadmenubar(const FileName: WideString): IXMLMenubarType;
function Newmenubar: IXMLMenubarType;

Я узнаю из сети, что некоторый комментарий, что издержки MSXML высоки, который это не выполняет, если выдерживают сравнение с другим синтаксическим анализатором XML. Однако мое исследование показывает, что MSXML является лучшим среди других. 2-й Xerces XML и ADOM XML v4 худшее:

  1. MSXML - 0,6410 секунды
  2. Xerces XML - 2,4220 секунды
  3. ADOM XML v4 - 67,50 секунд

Я также сталкиваюсь с OmniXML, которые утверждают, что имели намного лучшую производительность, выдерживают сравнение с MSXML, но мной никогда успех с помощью него с единицей, сгенерированной привязкой данных XML.

Есть ли какой-либо другой поставщик, которые реализуют IDOMImplementation Delphi, которые работают намного лучше, чем MSXML? Я использую Delphi 2010 и Windows 7.

5
задан Chau Chee Yang 13 March 2010 в 03:25
поделиться

2 ответа

Существует OmniXML , который быстрее, чем MSXML, и является OpenSource. Он является сложным для MSXML, поэтому переключиться очень просто. Имена интерфейсов совпадают. Также есть SimpleStorage , который расширяет интерфейсы OmniXML, так что работа с XML становится очень простой. Посмотрите демонстрации и сообщения в блогах об использовании SimpleStorage. Просто имейте в виду, что более сложные операции в SimpleStorage приносят в жертву немного скорости ради простоты использования и мощности.

1
ответ дан 15 December 2019 в 06:23
поделиться

Существует инструмент под названием NativeXML (недавно был открыт исходный код) http://www.simdesign.nl/xml.html

2
ответ дан 15 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: