3

寻找 Omni Xml 包的可读示例使用。

现在的文档是 2 个示例,用于加载和写入,与阅读无关,也不是迭代。

你能提供一个简单的阅读 XML,一个可重复属性的例子吗

<root>
<value p1=1></value>
<value p1=2 p2='32432'/>
<value p1=3 p3='fdsf'><other></other></value>
</root>

如何遍历所有值并获取 p1 属性。

4

1 回答 1

6
uses
  OmniXML,
  OmniXMLUtils;

var
  node : IXMLNode;
  other: IXMLNode;
  xml  : IXMLDocument;
begin
  xml := CreateXMLDoc;
  if XMLLoadFromFile(xml, 'fname.xml') then begin // 3 more notes
    for node in XMLEnumNodes(xml,'/root/value') do begin
      Writeln(GetNodeAttrStr(node, 'p1', ''), ';', GetNodeAttrStr(node, 'p2', ''), ';', 
        GetNodeAttrStr(node, 'p3', ''));
      other := SelectNode(node, 'other');
    end;
  end;
end;

警告:未经测试,用浏览器编写。

于 2011-08-24T17:28:22.550 回答