如何使用Linq将元素插入XML? [英] How do I insert an element into XML using Linq?
本文介绍了如何使用Linq将元素插入XML?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的XML:
<content>
<item id="1">A</item>
<item id="2">B</item>
<item id="4">D</item>
</content>
我已使用类似以下的XML加载了该文件:
I have loaded this using XML similar to:
XDocument xDoc = new XDocument(data.Value);
var items = from i in xDoc.Element("content").Elements("item")
select i;
我想插入另一个元素,最后得到类似这样的内容:
I want to insert another element, to end up with something like:
<content>
<item id="1">A</item>
<item id="2">B</item>
<item id="3">C</item>
<item id="4">D</item>
</content>
如何使用Linq2Xml做到这一点?
How do I do this using Linq2Xml?
推荐答案
尝试一下:
xDoc.Element("content")
.Elements("item")
.Where(item => item.Attribute("id").Value == "2").FirstOrDefault()
.AddAfterSelf(new XElement("item", "C", new XAttribute("id", "3")));
或者,如果您像我一样喜欢XPath:
Or, if you like XPath like I do:
xDoc.XPathSelectElement("content/item[@id = '2']")
.AddAfterSelf(new XElement("item", "C", new XAttribute("id", "3")));
这篇关于如何使用Linq将元素插入XML?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文