0

我需要对返回 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>
4

2 回答 2

3

你可以这样做:

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

doc1.Root.Add(doc2.Root.Elements());
doc1.Save(fileName3);
于 2013-07-03T16:58:12.953 回答
0

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

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" );
于 2013-07-03T17:00:23.023 回答