如何将节点从一个xml文件复制到另一个

本文关键字:xml 一个 文件 复制 另一个 节点 | 更新日期: 2023-09-27 18:00:56

我想将父节点和子节点从一个xml文件复制到另一个。在下面的例子中,我想将Items从文件#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);

非常感谢!

如何将节点从一个xml文件复制到另一个

您可以使用LINQ到XML:

var prev = XDocument.Load(filename1);
var curr = XDocument.Load(filename2);
prev.Root.Add(curr.Root.Elements());