c#linq to xml:根据值将子元素添加到特定的父元素

时间:2016-04-06 04:47:58

标签: c# xml linq

我正在通过LINQ to XML在c#中创建XML配置文件编辑器。我在插入存在特定父值的子节点时遇到了困难。

我现在的代码:

var xdoc = XElement.Load(config.ConfigPath);
....
xdoc.Descendants("grandparent")
.Where(a => a.Element("parent")
.Value == "targetvalue").FirstOrDefault()
.Add(new XElement("grandchild", grandchildvalue));  

的产率:

<grandparent>
     <parent>
     <grandchild>

而非预期:

<grandparent>
     <parent>
          <grandchild>

在代码中的这个特定点,只创建了祖父节点和父节点,并且正在创建孙元素及其各自的值。如何使孙子元素从属于父元素?

提前感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

您的LINQ应该返回ab%ghijlk123/0978+gh元素:

<parent>