如何使用LINQ在特定位置插入Xml元素?

时间:2014-02-19 13:00:28

标签: c# xml linq linq-to-xml

这是我的XML,

<A>
    <B  id="ABC">
      <C name="A" />
      <C name="B" />
      <C name="C" />
      <C name="G" />
    </B>
</A>

我需要在最后一个<C>标记之后插入另一个标记,输出应该是,

<A>
    <B  id="ABC">
      <C name="A" />
      <C name="B" />
      <C name="C" />
      <C name="G" />
      <D name ="New Tag" >
        <E />
      </D>
    </B>
</A>

使用以下C#,

doc.XPathSelectElement("A/B/C[last()]")。?//无法继续进行此处的操作

我正在尝试使用c#LINQ插入/添加方法:(

感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

使用doc.XPathSelectElement("A/B/C[last()]").AddAfterSelf(new XElement("D", new XAttribute("name","New Tag"),new XElement("E")));

答案 1 :(得分:0)

  

您正在使用doc.XPathSelectElement进入正确的方向   进一步尝试使用XElement.AddAfterSelf,它将帮助您在节点之后立即添加指定的内容。   有关更多详细信息,请参阅链接。

Original Link