如何在XML文件c#中的特定节之后添加节

本文关键字:之后 添加 XML 文件 | 更新日期: 2024-08-09 23:22:53

我有这个XML文件:

<a>
   <b>
   <name>Ion</name>
   </b>
   <c>
     <article>A10</article>
     <price>100</price>
   </c>
   //here I want to add a new section
   <f>....</f>
   </b>
</a>

我想添加部分:

 <d>
     <info1>test</info1>
     <info2>test 2</info2>
 </d>

在节<c>之后,在"之间。

我在c#中写了这段代码,添加了定义和添加部分d:

XDocument doc = XDocument.Load(file.Directory + "//" + file.Name);
XElement newElement = new XElement("d",
                                       new XElement("info1", txtInfo1.Text),
                                       new XElement("info2", txtInfo2.Text)
                    );
doc.Element("a").Add(newElement); 

但使用此代码,我在<a>标记中添加了<d>部分,并希望在<c>部分(<a><b><c>...</c><d>...<d/><f>...</f></b></a>)之后添加

如何在XML文件c#中的特定节之后添加节

 string path = file.Directory + "//" + file.Name;
 XDocument doc = XDocument.Load(path);
 doc.Root.Element("b").Add(newElement); 
 doc.Save(path); // save document

UPDATE(在cf之间添加):

 doc.Root.Element("b").Element("c").AddAfterSelf(newElement);

看起来您将它添加到了错误的标记中。根据您的问题,您希望将其添加到b:

doc.Root.Element("b").Add(newElement);

代替doc.Element("a").Add(newElement);

试试这个:

doc.Root.Element("b").Add(newElement);