在 Delphi7 中使用 XPath 搜索 XML 文档的最佳方法是什么?
Ricardo Acras
问问题
1676 次
2 回答
6
这取决于 xml 文档的大小。但我对 MSXML 及其撒克逊对应物都有很好的经验。
如果 xml 很大(>50 MB)或查询很重(使用一些 // 使您的系统爬网)预计会有一些延迟时间。但否则它是完全可行的。
在更高版本中,msxml 可作为一个单元使用。在版本 7 中,您需要安装类型库:
- 转到项目\导入类型库
- 选择 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;
于 2009-02-05T18:40:53.263 回答
1
当我必须在 Delphi 中处理 XML 文件时,我总是使用OmniXML,这是我多年来一直在使用的组件。我对它非常满意,主要是因为它轻巧、易于使用且免费。
它也可以轻松地与 XPath 一起使用。值得一试,希望对你也有帮助。
于 2009-09-17T21:01:48.347 回答