3

合并2个XML文件的最快方法是什么,所以我会在第一个中找到一个节点,清空它,从第二个XML中的同一标记(同一节点)中获取所有子节点并将其放入第一个。

4

2 回答 2

4

您可以将两个文件加载到两个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 片段:

<测试>
    <节点>
        <node id="1">
            你好
        </节点>
        <node id="2">
            你好,我们又见面了
        </节点>
        <node id="3">
            再一次嗨
        </节点>
    </节点>
</测试>
于 2008-12-05T03:20:59.897 回答
0

查看 MSDN 上的这篇文章:文章

我认为这是您正在寻找的代码:

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(); 

希望有帮助!

于 2008-12-05T00:50:41.570 回答