【发布时间】:2010-09-25 10:43:12
【问题描述】:
合并 2 个 XML 文件的最快方法是什么,所以我会在第一个中找到一个节点,将其清空,从第二个 XML 中的同一标记(同一节点)中获取所有子节点并将其放入第一个.
【问题讨论】:
-
请提供示例输入和所需的输出。
合并 2 个 XML 文件的最快方法是什么,所以我会在第一个中找到一个节点,将其清空,从第二个 XML 中的同一标记(同一节点)中获取所有子节点并将其放入第一个.
【问题讨论】:
您可以将两个文件加载到两个XElement 对象中,在两个对象中定位目标节点并进行切换。
这是一个示例:
var nodes1 = XDocument.Parse(file1).Element("test").Element("nodes");
var nodes2 = XDocument.Parse(file2).Element("test").Element("nodes");
nodes1.Nodes().Remove();
nodes1.Add(nodes2.Nodes());
这是我尝试过的 XML sn-p:
【讨论】:
在 MSDN 上查看这篇文章:Article
我认为这是您正在寻找的代码:
try
{
XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml");
XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books2.xml");
DataSet ds = new DataSet();
ds.ReadXml(xmlreader1);
DataSet ds2 = new DataSet();
ds2.ReadXml(xmlreader2);
ds.Merge(ds2);
ds.WriteXml("C:\\Books.xml");
Console.WriteLine("Completed merging XML documents");
}
catch (System.Exception ex)
{
Console.Write(ex.Message);
}
Console.Read();
希望有帮助!
【讨论】: