C# 在C语言中合并配置文件(或XML)#
合并两个XML文件的最快方法是什么,这样我就可以在第一个XML文件中找到一个节点,清空它,从第二个XML文件中的同一标记(同一节点)中获取所有子节点,然后将其放入第一个XML文件中。查看MSDN上的这篇文章: 我认为这就是您正在寻找的代码: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
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。他确实要求提供最快的方法。