The LINQ OfType Query Operator

By Peter Bromberg

The OfType operator filters the elements of a sequence based on a type.

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", "A"),
        new XElement("LastName", "B")),
        new XElement("Book",
        new XAttribute("type", "Author"),
        new XElement("FirstName", "C"),
        new XElement("LastName", "D"))));

        foreach (XNode node in firstParticipant.Nodes().OfType<XElement>()) {
           Console.WriteLine(node);
        }
     }
}

The LINQ OfType Query Operator  (781 Views)