【问题标题】:How can I copy nodes from one xml file into another?如何将节点从一个 xml 文件复制到另一个?
【发布时间】: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);

非常感谢!

【问题讨论】:

    标签: c# xml xmldocument xmlnode insertafter


    【解决方案1】:

    您可以使用 LINQ to XML:

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

    【讨论】:

    • 完美!我不会承认我昨晚花了多少时间无济于事。谢谢!
    • 非常感谢..@MarcinJuraszek..我也想插入根节点..请告诉我..
    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 2017-05-15
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多