2017-02-11 6 views
1

xmlファイルを作成するためにLinqからxmlを使用しています。私のXMLフォーマットは以下の通りです。linq to xmlを使用して最後のノードに書き込み

enter image description here

<weather>要素は、私はループを反復するたびに作成されます。そして、私はいつも最新の<weather>要素に何かを書きたいと思っています。それ、どうやったら出来るの?

+0

既存のコードを表示してください。 – mxii

+0

foreach(xdoc.Elements( "Language")要素のXElement要素。{ xTSDoc.Element( "data")。追加(新しいXElement( "weather"));\t \t xTSDoc.Element( "data")。要素( "天気予報")を追加する(新しいXElement( "Text"、element.Attribute( "Number")。xTSDoc.Element( "data")。要素( "weather")を追加します(新しいXElement( "Name"、element.Attribute( "Name")。 } –

+0

最後に追加された天気要素にアクセスする方法がわかりません。 –

答えて

0

これはトリックを行う必要があります。

foreach (XElement element in xdoc.Elements("Language").Elements("Text")) 
{ 
    // method 1, store a reference.. 
    var weather = new XElement("weather"); 
    xTSDoc.Element("data").Add(weather); 
    weather.Add(new XElement("Text", element.Attribute("Number").Value)); 
    weather.Add(new XElement("Name", element.Attribute("Name").Value)); 

    // method 2, get last element 
    xTSDoc.Element("data").Add(new XElement("weather")); 
    xTSDoc.Element("data").Elements("weather").Last().Add(new XElement("Text", element.Attribute("Number").Value)); 
    xTSDoc.Element("data").Elements("weather").Last().Add(new XElement("Name", element.Attribute("Name").Value)); 
} 
+0

ありがとうございました。それは適切に働いています。 –

関連する問題