CSharp - Using the OfType Operator to Return Just the Elements

Description

Using the OfType Operator to Return Just the Elements

Demo

using System;
using System.Linq;
using System.Xml.Linq;
using System.Collections.Generic;

class Program//w ww.  ja  v  a  2s .co  m
{
    static void Main(string[] args){
          XElement firstParticipant;
    
          //  A full document with all the bells and whistles.
          XDocument xDocument = new XDocument(
            new XDeclaration("1.0", "UTF-8", "yes"),
            new XDocumentType("Books", null, "Books.dtd", null),
            new XProcessingInstruction("BookCataloger", "out-of-print"),
            //  Notice on the next line that we are saving off a reference to the first
            //  Book element.
            new XElement("Books", firstParticipant =
              new XElement("Book",
                new XComment("This is a new author."),
                new XProcessingInstruction("AuthorHandler", "new"),
                new XAttribute("type", "Author"),
                new XElement("FirstName", "Joe"),
                new XElement("LastName", "Ruby")),
              new XElement("Book",
                new XAttribute("type", "Editor"),
                new XElement("FirstName", "PHP"),
                new XElement("LastName", "Python"))));
    
          foreach (XNode node in firstParticipant.Nodes().OfType<XElement>())
          {
            Console.WriteLine(node);
          }

    }
}

Result

Related Topic