Mega Code Archive

 
Categories / C# / XML LINQ
 

Adding Processing Instructions After the Document and Element Have Been Constructed

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 XElement("FirstName", "J"),                  new XElement("LastName", "R"))));         XProcessingInstruction xPI1 = new XProcessingInstruction("Book", "out-of-print"); xDocument.AddFirst(xPI1);         XProcessingInstruction xPI2 = new XProcessingInstruction("ParticipantDeleter",           "delete"); XElement outOfPrintParticipant = xDocument.Element("Books")           .Elements("Book")           .Where(e => ((string)((XElement)e).Element("FirstName")) == "J"           && ((string)((XElement)e).Element("LastName")) == "R")           .Single<XElement>();         outOfPrintParticipant.AddFirst(xPI2);         Console.WriteLine(xDocument);     } }