c# - 将 XML 父节点插入现有 xml 文档

标签 c# .net xml sharepoint xml-parsing

我有一个 XML 文档。我正在尝试动态地将父节点添加到 xml 文档中。我该怎么做。

这是我的 xml

  <navdefinition>
  <link text="/and" href="/and">
      <link text="Overview" href="/overview"  />
      <link text="Information" href="/fo"/>        
  </link>
  </navdefinition>

我正在尝试将节点添加到其顶部,以便一个节点成为新的父节点,一个兄弟节点位于顶部

    <navdefinition>
      <link text="NewParent" href="/">
         <link text="Sibling" href="/sibling"/>
         <link text="/and" href="/and">
             <link text="Overview" href="/overview"  />
             <link text="Information" href="/fo"/>
         </link>
      </link>
  </navdefinition>

最佳答案

只需创建一个新的父 XElement 并设置其子内容:

var xmlDoc = XDocument.Parse(xml);

var parentElement = new XElement("link", xmlDoc.Root.Elements());
parentElement.SetAttributeValue("text", "NewParent");
parentElement.SetAttributeValue("href", "/");
xmlDoc.Root.ReplaceNodes(parentElement);

关于c# - 将 XML 父节点插入现有 xml 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35996108/

相关文章:

C# TcpClient,同时读写流

.net - 从 XSD 生成类

java - 如何将 xml 文件中的“实体更改为”

c# - 为什么我不能将 XDocument XDeclaration 编码类型设置为 iso-8859-1?

c# - 仅上传文件以解压缩,而不在服务器上写入文件

xml - 将 XML 节点绑定(bind)到 TreeView 节点

c# - 调用正在运行的线程C#

c# - 使用 Thread.Interrupt 取消线程池工作项

c# - 检查对象列表中数字一致性的方法

.net - 独立数据库