当只有XML数据可用时,如何使用LINQ to XML插入新节点

本文关键字:XML 插入 to LINQ 新节点 节点 何使用 数据 | 更新日期: 2023-09-27 18:10:36

我有一个结构如下的xml文件:

<connections>
  <connection>   
    <serverName>serverName1</serverName>
    <dbName>dbName1</dbName>   
  </connection>
</connections>

我有一个新的连接作为文本数据,如下所示:

var xml="<connection><serverName>serverName2</serverName><dbName>dbName2</dbName></connection>";
var xDocument = XDocument.Load(HttpContext.Current.Server.MapPath(this.XmlDataFilePath));

如何将这个新节点插入到文档中?

我试过了,但是失败了:

 xDocument.Root.AddAfterSelf(xml);
 xDocument.Save(HttpContext.Current.Server.MapPath(this.XmlDataFilePath));

谢谢,

当只有XML数据可用时,如何使用LINQ to XML插入新节点

将XML解析为XElement,然后添加:

var element = XElement.Parse(xml);
xDocument.Root.Add(element);

注意这是而不是 AddAfterSelf—您不能添加第二个根元素作为第一个根元素的对等体。上面的代码将在任何现有的子元素之后添加一个新的子元素根元素中。