如果只有xml数据可用,如何使用LINQ to XML插入新节点?

The*_*ght 3 c# xml linq asp.net linq-to-xml

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

<connections>
  <connection>   
    <serverName>serverName1</serverName>
    <dbName>dbName1</dbName>   
  </connection>
</connections>
Run Code Online (Sandbox Code Playgroud)

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

var xml="<connection><serverName>serverName2</serverName><dbName>dbName2</dbName></connection>";

var xDocument = XDocument.Load(HttpContext.Current.Server.MapPath(this.XmlDataFilePath));
Run Code Online (Sandbox Code Playgroud)

我怎么能将这个新节点插入我的文档?

我尝试了这个,但它失败了:

 xDocument.Root.AddAfterSelf(xml);

 xDocument.Save(HttpContext.Current.Server.MapPath(this.XmlDataFilePath));
Run Code Online (Sandbox Code Playgroud)

谢谢,

Jon*_*eet 11

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

var element = XElement.Parse(xml);
xDocument.Root.Add(element);
Run Code Online (Sandbox Code Playgroud)

请注意,这不是 AddAfterSelf - 您不能添加第二个根元素作为第一个根元素.上面的代码将添加一个新的孩子的任何现有的元素后,根元素.