【问题标题】:How to append two XML documents in C# [duplicate]如何在 C# 中附加两个 XML 文档 [重复]
【发布时间】:2013-07-03 16:51:03
【问题描述】:

我需要对返回 XML 的远程 URL 进行两次调用,如下所示;

<results>
   <colours>
     <name>Red</name>
     <name>Green</name>
   </colours>
</results>

第二个反应是这样的

<results>
   <colours>
     <name>White</name>
     <name>Blue</name>
   </colours>
</results>

我遇到的问题是我需要将两个响应合并到一个 XML 文档中,我真的只想要一个结果根节点。我怎样才能做到这一点?因为目前如果我将它们合并在一起,我会收到一条错误消息,说我必须有一个根节点

编辑

理想情况下,我希望结果看起来像

<results>
   <colours>
     <name>Red</name>
     <name>Green</name>
   </colours>
   <colours>
     <name>White</name>
     <name>Blue</name>
   </colours>
</results>

【问题讨论】:

标签: c# xml


【解决方案1】:

你可以这样做:

var doc1 = XDocument.Load(fileName1);
var doc2 = XDocument.Load(fileName2);

doc1.Root.Add(doc2.Root.Elements());
doc1.Save(fileName3);

【讨论】:

    【解决方案2】:

    有一种方法可以做到这一点:

    DataSet set1 = new DataSet();
    DataSet set2 = new DataSet();
    set1.ReadXml( new XmlTextReader( @"C:\File1.xml" ) );
    set2.ReadXml( new XmltextReader( @"C:\File2.xml" ) );
    set1.Merge( set2 );
    set1.WriteXml( @"C:\File1WithFile2.xml" );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 2021-01-05
      • 2011-12-19
      相关资源
      最近更新 更多