Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取xml文件的一部分并将其打包到新文件中_C#_Xml_Xmldocument - Fatal编程技术网

C# 获取xml文件的一部分并将其打包到新文件中

C# 获取xml文件的一部分并将其打包到新文件中,c#,xml,xmldocument,C#,Xml,Xmldocument,我正在尝试使用其他xml文件的部分创建一个新的xml文件。例如,我得到了以下两个xml文件: 文件1: <root> <persons> <person1> <name> </name> <address> </address> <number> </number> </

我正在尝试使用其他xml文件的部分创建一个新的xml文件。例如,我得到了以下两个xml文件:

文件1:

<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中进行精确选择应该很容易。现在应该是一致的。我在这个网站上做了一个快速的例子。我只是在记事本++中编辑所有内容。