我需要对远程URL进行两次调用,该URL返回XML,如下所示;
<results>
<colours>
<name>Red</name>
<name>Green</name>
</colours>
</results>
第二个回应就像
<results>
<colours>
<name>White</name>
<name>Blue</name>
</colours>
</results>
我遇到的问题是我需要将两个响应合并到一个XML文档中,我真的只想要一个结果Root节点。我怎么能这样做?因为目前我将它们合并在一起我得到一个错误,说我必须有一个根节点
修改
理想情况下,我希望结果看起来像
<results>
<colours>
<name>Red</name>
<name>Green</name>
</colours>
<colours>
<name>White</name>
<name>Blue</name>
</colours>
</results>
答案 0 :(得分:3)
你可以这样做:
var doc1 = XDocument.Load(fileName1);
var doc2 = XDocument.Load(fileName2);
doc1.Root.Add(doc2.Root.Elements());
doc1.Save(fileName3);
答案 1 :(得分: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" );