Creating a Comment 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("Book"); 
        XComment xComment = new XComment("This person is retired.");
        xBookParticipant.Add(xComment);

        Console.WriteLine(xBookParticipant);

    }
}

    


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);
    }
}

    


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);
        }
    }
}