使用OmniXML添加子节点

时间:2011-04-26 00:54:35

标签: xml delphi delphi-xe

我目前正在使用OmniXML单元在Delphi XE中操作我的XML文件。我设法从磁盘上的文件加载XML内容,现在我想在特定节点元素下添加子节点。新的子节点也将具有“id”属性。鉴于不幸的是OmniXML的文档很差,任何人都可以告诉我怎么做! 我还想将新XML保存在另一个文件中,您是否也可以澄清如何这样做?

谢谢, 苏

2 个答案:

答案 0 :(得分:4)

uses OmniXMLUtils;

childNode := EnsureNode(parentNode, 'id');

您应该查看SimpleStorageGpFluentXML,而不是使用原始OmniXML(和OmniXMLUtils,这是一项改进,但仍然非常基础)。

答案 1 :(得分:2)

尝试这样的事情:

var
  iDoc, iNode: IXMLNode;
begin
  XMLDocument1.LoadFrom...(...);
  iDoc := XMLDocument1.DocumentElement;

  // Find node where you want child added     
  // and add a new child
  iNode := iDoc.ChildNodes[0].AddChild('NewNode');
  iNode.Attributes['id'] := '2';

  XMLDocument1.SaveTo...(...);
end;
顺便说一下,使用免费的开源软件然后抱怨它并不好。 :)如果你不喜欢这些文档,你可以随意购买商业产品或者为开源软件的作者做出贡献,或者为文档贡献一些工作来改进它。