Delphi中有3个IDOMImplementation:
MSXML是默认的IDOMImplementation。
我的测试是计算加载10MB xml文件所需的时间。我使用从XSD生成的Delphi单元,使用XML数据绑定来加载xml文件。该单元有3个常用功能:
function Getmenubar(Doc: IXMLDocument): IXMLMenubarType;
function Loadmenubar(const FileName: WideString): IXMLMenubarType;
function Newmenubar: IXMLMenubarType;
我从网上了解到有些评论说MSXML的开销很高,如果与其他XML解析器相比它不会执行。但是,我的研究表明,MSXML是最好的。 Xerces XML 2nd和ADOM XML v4是最糟糕的:
我也遇到过OmniXML,它声称与MSXML相比具有更好的性能,但我从未成功地将它与XML数据绑定生成的单元一起使用。
有没有其他供应商实现Delphi的IDOMImplementation比MSXML好得多?我正在使用Delphi 2010和Windows 7。
答案 0 :(得分:2)
有一个名为NativeXML的工具(最近开源) http://www.simdesign.nl/xml.html
答案 1 :(得分:1)
OmniXML比MSXML更快,而且是OpenSource。它是MSXML的复杂功能,所以开关非常简单。事件接口名称相同。然后有SimpleStorage扩展了OmniXML接口,因此使用XML变得非常容易。查看有关SimpleStorage使用情况的演示和博客文章。请记住,SimpleStorage中更复杂的操作会牺牲一点速度来提高易用性和功耗。