我想将父节点和子节点从一个xml文件复制到另一个xml文件。在下面的示例中,我想将文件#2中的项目复制到文件#1:
输入文件#1:
<Top>
<Items>
<Item>one</Item>
<Item>two</Item>
</Items>
</Top>
输入文件#2:
<Top>
<Items>
<Item>three</Item>
<Item>four</Item>
</Items>
</Top>
我希望最终的XML文件如下所示:
<Top>
<Items>
<Item>one</Item>
<Item>two</Item>
</Items>
<Items>
<Item>three</Item>
<Item>four</Item>
</Items>
</Top>
我尝试了以下非功能代码。 InsertAfter调用不适用于xml文件。有什么帮助吗?
XmlDocument prev = new XmlDocument(); prev.Load(filename1);
XmlDocument curr = new XmlDocument(); curr.Load(filename2);
XmlNode prev_node = prev.SelectSingleNode("Items");
XmlNode curr_node = curr.SelectSingleNode("Items");
prev.InsertAfter(curr_node, prev_node);
非常感谢!
答案 0 :(得分:2)
您可以使用LINQ to XML:
var prev = XDocument.Load(filename1);
var curr = XDocument.Load(filename2);
prev.Root.Add(curr.Root.Elements());