开发者

Is there any better IDOMImplementation other than MSXML?

开发者 https://www.devze.com 2022-12-22 16:08 出处:网络
There are 3 IDOMImplementation available in Delphi: MSXML Xerces XML ADOM XML v4 MSXML is the default IDOMImplementation.

There are 3 IDOMImplementation available in Delphi:

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

MSXML is the default IDOMImplementation.

My test is count the time need to load a 10MB xml file. I use开发者_运维技巧 a Delphi unit generated from a XSD using XML data binding to load the xml file. This unit has 3 common function:

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

I learn from the web that some comment that MSXML's overhead is high that it doesn't perform if compare to other XML parser. However, my study shows that MSXML is the best among others. Xerces XML 2nd and ADOM XML v4 the worst:

  1. MSXML - 0.6410 seconds
  2. Xerces XML - 2.4220 seconds
  3. ADOM XML v4 - 67.50 seconds

I also come across with OmniXML that claim to have much better performance compare to MSXML but I never success using it with the unit generated by XML data binding.

Is there any other vendor that implement IDOMImplementation of Delphi that work much better than MSXML? I am using Delphi 2010 and Windows 7.


There is a tool named NativeXML (recently goes opensource) http://www.simdesign.nl/xml.html


There is OmniXML that is faster than MSXML and is OpenSource. It is MSXML complicant, so the switch is very easy. Event the interface names are the same. Then there is SimpleStorage which expands the OmniXML interfaces, so that working with XML becomes very easy. Look at the demos and at blog posts about SimpleStorage usage. Just bear in mind that more complex operations in SimpleStorage sacrifice a little of the speed for ease of use and power.

0

精彩评论

暂无评论...
验证码 换一张
取 消