代码之家  ›  专栏  ›  技术社区  ›  user2729272

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

  •  0
  • user2729272  · 技术社区  · 11 年前

    这是我的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 Insert/Add方法:(

    感谢任何帮助!

    2 回复  |  直到 11 年前
        1
  •  3
  •   stepandohnal    11 年前

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

        2
  •  0
  •   sankoobaba    11 年前

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

    Original Link