2011-06-28 7 views
2

Есть ли альтернатива MSXML? Я думаю, что MSXML сталкивается с предыдущими версиями. Также я предпочитаю открытый исходный код, по крайней мере, инструменты с источником. Delphi - мой выбор, но я могу управлять c/C++. Он должен поддерживать все конструкцию, навигацию и xmlhttp-интерфейс без зависимости от MSXML. Спасибо за сообщениеMSXML альтернативный

+5

Что заставляет вас думать о столкновениях MSXML с предыдущими версиями? –

+0

Я думаю, что это не MSXML, вызывающий проблему, а недостающая DLL в целевой системе, которая используется для ее проверки. –

+0

Обратите внимание, что поведение MSXML сильно зависит от того, какую версию MSXML вы установили, особенно если вы хотите делать вещи XPath. –

ответ

3

С помощью TXmlDocument вы можете использовать MSXML или реализацию с открытым исходным кодом, Open XML (http://www.philo.de/xml/), которая поставляется с Delphi. Если использовать TXmlDocument, используемая версия MSXML - это последняя версия, доступная на компьютере, поэтому она не будет конфликтовать.

+0

MSXML не использует последнюю версию, это зависит от пользователя, какая версия используется. MSXML не имеет независимого идентификатора программы. Если вы посмотрите на TXMLDocument, вы увидите, что сначала он пытается использовать MSXML 6.0, а затем вернуться к более ранней версии, если последняя не доступна. –

+0

@The_Fox, вот что я хотел сказать, поэтому я соответствующим образом обновил ответ. – Misha

+0

@The_Fox: на самом деле это зависит от того, какую версию Delphi вы используете. Например, Delphi 2007 не знает о MSXML6 из коробки. –

2

Вы можете использовать OmniXML который имеет интерфейс, совместимый с MSXML. Существует также SimpleStorage набор интерфейсов поверх OmniXML, которые делают его еще более прочным и простым в использовании.

4

Также вы можете взглянуть на NativeXML, это с открытым исходным кодом.

+0

Теперь размещен в Google Code: http://simdesign.googlecode.com. – mjn

0

himXML работает также хорошо и быстро.

  • поддержка юникода
  • находится под MPL v1.1, v3.0 GPL или LGPL v3.0
  • это быстро
  • его просто

вы можете получить его с немецкого delphi-praxis Веб-сайт.

0

Посмотрите на DiXML, который построен на библиотеках libxml2, libxslt и libexslt (для DIXml не требуются библиотеки DLL или любые другие внешние файлы).