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

时间:2014-04-30 03:58:56

标签: c# xml xmldocument xmlnode insertafter

我想将父节点和子节点从一个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);

非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以使用LINQ to XML:

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