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() {
XElement xBookParticipant = new XElement("Book");
XComment xComment = new XComment("This person is retired.");
xBookParticipant.Add(xComment);
Console.WriteLine(xBookParticipant);
}
}
XML LINQ
Creating an XCData Node and Passing It As the Value of a Created Element
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() {
XElement xErrorMessage = new XElement("HTMLMessage",new XCData("<H1>Invalid password.</H1>"));
Console.WriteLine(xErrorMessage);
}
}
Creating an Attribute and Adding It to Its Element
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() {
XElement xBookParticipant = new XElement("BookParticipant");
XAttribute xAttribute = new XAttribute("type", "Author");
xBookParticipant.Add(xAttribute);
Console.WriteLine(xBookParticipant);
}
}
Creating an Attribute with Functional Construction
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() {
XElement xBookParticipant = new XElement("BookParticipant",
new XAttribute("type", "Author"));
Console.WriteLine(xBookParticipant);
}
}
Using the LINQ to XML API to Create an XML Document
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() {
XElement xElement =
new XElement("Books",
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "J"),
new XElement("LastName", "R")));
Console.WriteLine(xElement.ToString());
}
}
Traversing Backward from the Current Node
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() {
XElement firstParticipant;
XDocument xDocument = new XDocument(
new XDeclaration("1.0", "UTF-8", "yes"),
new XDocumentType("Books", null, "Books.dtd", null),
new XProcessingInstruction("Book", "out-of-print"),
new XElement("Books",
new XComment("Begin Of List"), firstParticipant =
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "J"),
new XElement("LastName", "R")),
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "E"),
new XElement("LastName", "B")),
new XComment("End Of List")));
foreach (XNode node in firstParticipant.NextNode.ElementsBeforeSelf()) {
Console.WriteLine(node);
}
}
}
Traversing Down from an XElement Object via the Nodes Method with Additional Node Types
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() {
XElement firstParticipant;
XDocument xDocument = new XDocument(new XDeclaration("1.0", "UTF-8", "yes"),
new XDocumentType("Books", null, "Books.dtd", null),
new XProcessingInstruction("Book", "out-of-print"),
new XElement("Books", firstParticipant =
new XElement("Book",
new XComment("a new author."),
new XProcessingInstruction("AuthorHandler", "new"),
new XAttribute("type", "Author"),
new XElement("FirstName", "J"),
new XElement("LastName", "R")),
new XElement("Book",
new XAttribute("type", "Author"),
new XElement("FirstName", "E"),
new XElement("LastName", "B"))));
foreach (XNode node in firstParticipant.Nodes()) {
Console.WriteLine(node);
}
}
}