如何在C#中附加两个XML文档
本文关键字:两个 文档 XML | 更新日期: 2023-09-27 18:20:57
我需要对一个远程URL进行两次调用,该URL返回XML,如下所示;
<results>
<colours>
<name>Red</name>
<name>Green</name>
</colours>
</results>
第二个响应类似
<results>
<colours>
<name>White</name>
<name>Blue</name>
</colours>
</results>
我遇到的问题是,我需要将两个响应合并到一个XML文档中,并且我真的只想要一个resultsRoot节点。我怎样才能做到最好?因为现在如果我把它们合并在一起,我会收到一个错误,说我必须有一个根节点
编辑
理想情况下,我希望结果看起来像
<results>
<colours>
<name>Red</name>
<name>Green</name>
</colours>
<colours>
<name>White</name>
<name>Blue</name>
</colours>
</results>
您可以这样做:
var doc1 = XDocument.Load(fileName1);
var doc2 = XDocument.Load(fileName2);
doc1.Root.Add(doc2.Root.Elements());
doc1.Save(fileName3);
有一种方法可以做到这一点:
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" );