2016-05-20 2 views
-1

非常に単純です。私は2つの文書XMLを別のXMLドキュメントに追加するにはどうすればいいですかすべてのノードの外側にある

いるDoc1

<Person> 
<Name>Bob</Name> 
</Person> 

Doc2の

<Animal> 
<Name>Zippy</Name> 
</Animal> 

を持っていると私は

DOC3

<Person> 
<Name>Bob</Name> 
</Person> 
<Animal> 
<Name>Zippy</Name> 
</Animal> 

を作成したい、私は以下の持っているコードは近いがインサートでありますXML I n側もう一つ、私は

string xmlUserData = GetUserData(fileId); 
     string xmlPurchaseDate = GetPurchaseData(); 

     XDocument xdocUserData = XDocument.Parse(xmlUserData); 
     XDocument xdocPurchaseDate = XDocument.Parse(xmlPurchaseDate); 


     XElement xe1 = xdocUserData.Descendants("USERDATA").FirstOrDefault(); 
     XElement xe2 = xdocPurchaseDate.Descendants("PurchaseAdvice").FirstOrDefault(); 
     xe1.Add(xe2.Nodes()); 
+3

最終的な "文書" ISN」 XML文書 - XML文書は1つのルート要素しか持つことができません。 –

+0

Jonが正しいです、あなたが作り出そうとしているのはXMLフラグメントです。 – Kevin

+0

ハッキーなやり方は、2つのXML文書をファイルとして生成し、2つのファイルを一緒に追加することです。しかし、他の人が指摘しているように、これはXML文書ではありません –

答えて

1

はい、あなたがルートに要素をラップすることを望んでいない:

XDocument doc = new XDocument(); 
XElement rootElement = new XElement("Root"); 
rootElement.Add(new XElement("person")); 
rootElement.Add(new XElement("animal")); 
doc.Add(rootElement); 

が与える:

<Root> 
    <person /> 
    <animal /> 
</Root> 
+0

はい!新しいXElementを持っているものと入れ替えました。 – punkouter

+0

はい、私はあなたに少し仕事をさせるだろうと思った:) – Crowcoder

関連する問題