C# 获取xml文件的一部分并将其打包到新文件中
我正在尝试使用其他xml文件的部分创建一个新的xml文件。例如,我得到了以下两个xml文件: 文件1:C# 获取xml文件的一部分并将其打包到新文件中,c#,xml,xmldocument,C#,Xml,Xmldocument,我正在尝试使用其他xml文件的部分创建一个新的xml文件。例如,我得到了以下两个xml文件: 文件1: <root> <persons> <person1> <name> </name> <address> </address> <number> </number> </
<root>
<persons>
<person1>
<name> </name>
<address> </address>
<number> </number>
</person1>
<person2>
<name> </name>
<address> </address>
<number> </number>
</person2>
</persons>
</root>
文件2:
<registration>
<results>
<result1>
<test1> </test1>
<Test2> </test2>
</result1>
<result2>
<test1> </test1>
<Test2> </test2>
</result2>
</results>
</registration>
新的xml文件应如下所示:
<combined>
<persons>
<person1>
<name> </name>
<address> </address>
<number> </number>
</person1>
<person2>
<name> </name>
<address> </address>
<number> </number>
</person2>
</persons>
<results>
<result1>
<test1> </test1>
<Test2> </test2>
</result1>
<result2>
<test1> </test1>
<Test2> </test2>
</result2>
</results>
</combined>
如何在C#中使用xmldocument
实现这一点
编辑
更多信息,节点“persons”和“results”应该放在新的xml文档中(包括“persons”和“results”)。基本上:
var doc1 = XElement.Load(file1);
var doc2 = XElement.Load(file2);
var combined = new XElement("combined", doc1.Descendants("person"), doc2);
combined.Save(file3);
基本上:
var doc1 = XElement.Load(file1);
var doc2 = XElement.Load(file2);
var combined = new XElement("combined", doc1.Descendants("person"), doc2);
combined.Save(file3);
有没有不使用XDocument或其他东西的原因?没有特别的原因。如果你知道谁可以用XDocument来完成这项任务,那我就没问题了。有什么理由不使用XDocument或其他东西吗?没有特别的理由。如果你知道谁可以用XDocument来完成这项任务,那对我来说没关系。嗨,我更新了我的问题。此外,还应将文档保存到磁盘。变量“combined”是否应该转换为XDocument()能够理解的内容?您的示例数据并不完全一致,但从doc1和doc2中进行精确选择应该很容易。现在应该是一致的。我在这个网站上做了一个快速的例子。我只是在记事本++中编辑所有内容。嗨,我更新了我的问题。此外,还应将文档保存到磁盘。变量“combined”是否应该转换为XDocument()能够理解的内容?您的示例数据并不完全一致,但从doc1和doc2中进行精确选择应该很容易。现在应该是一致的。我在这个网站上做了一个快速的例子。我只是在记事本++中编辑所有内容。