我有问题使用c#将2个或更多xml文件合并为1.
我正在使用DataSet进行:
//ds1,ds2,ds3 are DataSets
private void MyMethod()
{
ds1.ReadXml(tmpStream);
ds2.ReadXml(tmpStream);
ds1.Merge(ds2);
}
Run Code Online (Sandbox Code Playgroud)
但我不想使用DataSet.我正在寻找另一种方式.
第一个XML是
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<item>
<path>'filePath'</path>
<deleted>0</deleted>
<date>9/23/2010 11:30:03 AM</date>
</item>
</catalog>
Run Code Online (Sandbox Code Playgroud)
第二是
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<item>
<path>'filePath'</path>
<deleted>0</deleted>
<date>9/23/2010 11:30:03 AM</date>
</item>
</catalog>
Run Code Online (Sandbox Code Playgroud)
结果必须是
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<item>
<path>'filePath'</path>
<deleted>0</deleted>
<date>9/23/2010 11:30:03 AM</date>
</item>
<item>
<path>'filePath'</path>
<deleted>0</deleted>
<date>9/23/2010 11:30:03 AM</date>
</item>
</catalog>
Run Code Online (Sandbox Code Playgroud)
虽然这并不是很清楚你想要什么样的合并,但本文Merging XML Files, Schema Validation, and More可能会帮助你理解.
最简单的可能是,如果你不想要执行任何检查(重复,僵尸等)
var ResultXml = XDocument.Load("file1.xml");
ResultXml.Root.Add(XDocument.Load("file2.xml").Root.Elements());
Run Code Online (Sandbox Code Playgroud)