在C#中合并配置文件(或XML)

时间:2008-12-05 00:36:48

标签: c# xml merge

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

2 个答案:

答案 0 :(得分: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代码段:

<test>
    <nodes>
        <node id="1">
            Hi
        </node>
        <node id="2">
            Hi again
        </node>
        <node id="3">
            Hi once more
        </node>
    </nodes>
</test>

答案 1 :(得分:0)

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

希望有所帮助!