我的
XML:
<content> <item id="1">A</item> <item id="2">B</item> <item id="4">D</item> </content>
我使用类似于以下的XML加载它:
XDocument xDoc = new XDocument(data.Value); var items = from i in xDoc.Element("content").Elements("item") select i;
我想插入另一个元素,最终得到类似的东西:
<content> <item id="1">A</item> <item id="2">B</item> <item id="3">C</item> <item id="4">D</item> </content>
我如何使用Linq2Xml做到这一点?
试试这个:
xDoc.Element("content") .Elements("item") .Where(item => item.Attribute("id").Value == "2").FirstOrDefault() .AddAfterSelf(new XElement("item","C",new XAttribute("id","3")));
或者,如果你像我一样喜欢XPath:
xDoc.XPathSelectElement("content/item[@id = '2']") .AddAfterSelf(new XElement("item","3")));