我目前正在使用OmniXML单元在Delphi XE中操作我的XML文件。我设法从磁盘上的文件加载XML内容,现在我想在特定节点元素下添加子节点。新的子节点也将具有“id”属性。鉴于不幸的是OmniXML的文档很差,任何人都可以告诉我怎么做! 我还想将新XML保存在另一个文件中,您是否也可以澄清如何这样做?
谢谢, 苏
答案 0 :(得分:4)
uses OmniXMLUtils;
childNode := EnsureNode(parentNode, 'id');
您应该查看SimpleStorage和GpFluentXML,而不是使用原始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;
顺便说一下,使用免费的开源软件然后抱怨它并不好。 :)如果你不喜欢这些文档,你可以随意购买商业产品或者为开源软件的作者做出贡献,或者为文档贡献一些工作来改进它。