我已经开始探索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>
的最后一个孩子......
答案 0 :(得分:1)
如果你有像
这样的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
}