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

Posted

技术标签:

【中文标题】如何将节点从一个 xml 文件复制到另一个?【英文标题】:How can I copy nodes from one xml file into another? 【发布时间】:2014-04-30 03:58:56 【问题描述】:

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

您可以使用 LINQ to XML:

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

【讨论】:

完美!我不会承认我昨晚花了多少时间无济于事。谢谢! 非常感谢..@MarcinJuraszek..我也想插入根节点..请告诉我..

以上是关于如何将节点从一个 xml 文件复制到另一个?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 XmlNode 从一个 XmlDocument 复制到另一个?

ubuntu复制文件

如何将文件从一个位置复制到另一个位置?

如何将文件从一个位置复制到另一个位置?

如何将一个数据库中的一个表复制到另一个数据库中去

如何将扩展名为 .png 的图形从一个文件夹移动或复制到另一个文件夹? [复制]