0

他のxmlファイルのパーツを使用して新しいxmlファイルを作成しようとしています。たとえば、次の2つの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」を含む)に配置する必要があります。

4

2 に答える 2

2

基本的に:

var doc1 = XElement.Load(file1);
var doc2 = XElement.Load(file2);

var combined = new XElement("combined", doc1.Descendants("person"), doc2);

combined.Save(file3);
于 2012-05-14T17:38:57.677 に答える
1
XElement root1 = XElement.Load(file1);
XElement root2 = XElement.Load(file2);
XElement combined = new XElement("combined");

foreach(XElement node1 in root1.Elements())
    combined.Add(node1);

foreach(XElement node2 in root2.Elements())
    combined.Add(node2);

combined.Save(file3);
于 2012-05-14T17:39:12.497 に答える