2014-04-30 6 views
0

하나의 XML 파일에서 다른 XML 노드로 부모 노드와 자식 노드를 복사하고 싶습니다. 아래 예제에서는 파일 # 1에 파일 # 2에서 항목을 복사 할 것 :하나의 XML 파일에서 다른 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

당신은 XML에 LINQ를 사용할 수 있습니다

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

완벽! 지난 밤에 내가 얼마나 쓸모없는 시간을 보냈는지 나는 인정하지 않을 것이다. 감사! – moose

+0

고맙습니다. @ MarcinJuraszek .. 그리고 뿌리 노드를 삽입하고 싶습니다. 제발 말해줘 .. – Srinivas