在Delphi7中使用XPath搜索XML文档的最佳方法是什么?
这取决于xml文档的大小.但我对MSXML和它的Saxon同行都有很好的经验.
如果xml很大(> 50 MB)或查询很重(使用一些//来进行系统爬网),则需要一些延迟时间.但是它完全可行.
在以后的版本中,msxml作为一个单元提供.在版本7中,您需要安装类型库:
转到Project\Import类型库
选择Microsoft XML,(您可以找到的最高版本)
选择"创建单位"以创建MSXML_TLB
您可以使用MSXML_TLB读取xml文档,使用xslt并执行xpath查询:
var doc : IXMLDomDocument2; list : IXMLDomNodeList; node : IXMLDomNode; i : Integer; begin doc := CoDOMDocument.Create; doc.load(xmlfilename); list := doc.selectNodes(xpath); for i := 0 to list.length-1 do begin node := list.item[i]; if node<>nil then Memo1.Lines.Add(node.nodeName); end; end;