选择XML文档中的最后一个子节点
本文关键字:最后一个 子节点 XML 文档 选择 | 更新日期: 2023-09-27 18:17:01
我已经开始探索c#,并正在考虑处理xml。
var doc = XDocument.parse("some.xml");
XElement root = doc.Element("book");
root.Add(new XElement("page"));
XElement lastPost = (XElement)root.Element("book").LastNode;
if (!lastPost.HasAttributes)
{
lastPost.Add(new XAttribute("src", "kk");
}
doc.Save("some.xml");
现在,我构建xml文件
<flare>
<control >
<control />
<pages>
</pages>
</flare>
我需要添加到<page name="aaa" type="dd" />
页到目前为止,我已经添加了<page>
,但我如何添加属性?为此,我必须以某种方式选择<pages>
的最后一个子……
如果你有一些xml文件,比如
<book>
<pages>
</pages>
</book>
您想添加page
元素与一些属性,然后
var pages = xdoc.Root.Element("pages");
pages.Add(new XElement("page",
new XAttribute("name", "aaa"), // adding attribute "name"
new XAttribute("type", "dd"))); // adding attribute "type"
xdoc.Save("some.xml"); // don't forget to save document
这将添加以下page
元素:
<book>
<pages>
<page name="aaa" type="dd" />
</pages>
</book>
修改最后一页的属性也很简单:
var lastPage = pages.Elements().LastOrDefault(); // getting last page if any
if (lastPage != null)
{
lastPage.Add(new XAttribute("foo", "bar")); // add new attribute
lastPage.SetAttributeValue("name", "bbb"); // modify attribute
}