使用linq to xml写入最后一个节点

时间:2017-02-11 06:44:39

标签: c# linq-to-xml

我正在使用Linq to xml来创建xml文件。我的xml格式如下所示。

enter image description here

每次迭代循环时都会创建

<weather>元素。每次我想写一些东西到最新的<weather>元素创建。我该怎么做?

1 个答案:

答案 0 :(得分:1)

这应该可以解决问题:

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));
}