如何在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>
)之后添加
string path = file.Directory + "//" + file.Name;
XDocument doc = XDocument.Load(path);
doc.Root.Element("b").Add(newElement);
doc.Save(path); // save document
UPDATE(在c
和f
之间添加):
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);