Is there any better IDOMImplementation other than MSXML?
- by Chau Chee Yang
There are 3 IDOMImplementation available in Delphi:
MSXML
Xerces XML
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:
MSXML - 0.6410 seconds
Xerces XML - 2.4220 seconds
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.