Mega Code Archive

 
Categories / C# / XML LINQ
 

Adding a Node in the Specified Nodes Child Nodes with AddBeforeSelf

using System; using System.Linq; using System.Collections; using System.Collections.Generic; using System.Xml; using System.Xml.Linq; public class MainClass {     public static void Main() {         XDocument xDocument = new XDocument(           new XElement("Books",             new XElement("Book",               new XAttribute("type", "Author"),               new XElement("FirstName", "A"),               new XElement("LastName", "B"))));         xDocument.Element("Books").Add(           new XElement("Book",             new XAttribute("type", "Author"),             new XElement("FirstName", "E"),             new XElement("LastName", "B")));         xDocument.Element("Books").           Elements("Book").           Where(e => ((string)e.Element("FirstName")) == "E").           Single<XElement>().AddBeforeSelf(             new XElement("Book",               new XAttribute("type", "Reviewer"),               new XElement("FirstName", "F"),               new XElement("LastName", "F")));         Console.WriteLine(xDocument);     } }