2014-04-30 54 views
0

我想複製父節點和子節點從一個XML文件到另一個。在下面的例子中,我想從文件#2項目複製到文件#1:如何將節點從一個xml文件複製到另一個?

輸入文件#1:

<Top> 
    <Items> 
    <Item>one</Item> 
    <Item>two</Item> 
    </Items> 
</Top> 

輸入文件#2:

<Top> 
    <Items> 
    <Item>three</Item> 
    <Item>four</Item> 
    </Items> 
</Top> 

我想最終的XML文件看起來如下所示:

<Top> 
    <Items> 
    <Item>one</Item> 
    <Item>two</Item> 
    </Items> 
    <Items> 
    <Item>three</Item> 
    <Item>four</Item> 
    </Items> 
</Top> 

我嘗試了以下非功能代碼。 InsertAfter調用不適用於xml文件。任何幫助?

XmlDocument prev = new XmlDocument(); prev.Load(filename1); 
XmlDocument curr = new XmlDocument(); curr.Load(filename2); 
XmlNode prev_node = prev.SelectSingleNode("Items"); 
XmlNode curr_node = curr.SelectSingleNode("Items"); 
prev.InsertAfter(curr_node, prev_node); 

非常感謝!

回答

2

您可以使用LINQ到XML:

var prev = XDocument.Load(filename1); 
var curr = XDocument.Load(filename2); 
prev.Root.Add(curr.Root.Elements()); 
+0

完美!我不會承認我在昨晚花了多少時間無濟於事。謝謝! – moose

+0

非常感謝你.. @ MarcinJuraszek ..我想要插入根節點..請告訴我.. – Srinivas

相關問題