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

C# 在C语言中合并配置文件(或XML)#,c#,xml,merge,C#,Xml,Merge,合并两个XML文件的最快方法是什么,这样我就可以在第一个XML文件中找到一个节点,清空它,从第二个XML文件中的同一标记(同一节点)中获取所有子节点,然后将其放入第一个XML文件中。查看MSDN上的这篇文章: 我认为这就是您正在寻找的代码: try { XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml"); XmlTextReader xmlreader2 = new XmlTextReader("C:\\B

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

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

希望有帮助

您可以将两个文件加载到两个
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> 你好 你好 再一次你好
请提供示例输入和所需输出。该技术仅适用于可解析为数据集的XML文档的很小一部分,例如,在输入中的任何元素下添加第二个元素,您将得到DuplicateNameException。他确实要求提供最快的方法。