An Example of Calling the First Ancestors Prototype : Ancestors « XML LINQ « C# / C Sharp






An Example of Calling the First Ancestors Prototype

  

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 xDocument = new XElement(new XElement("Books",
         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"))));
        IEnumerable<XElement> elements =
         xDocument.Element("Books").Descendants("FirstName");
        foreach (XElement element in elements) {
            Console.WriteLine("Source element: {0} : value = {1}",
             element.Name, element.Value);
        }
        foreach (XElement element in elements.Ancestors()) {
            Console.WriteLine("Ancestor element: {0}", element.Name);
        }
    }
}

   
  








Related examples in the same category

1.Without Calling the Ancestors Operator
2.A More Concise Example of Calling the First Ancestors Prototype
3.Calling the Second Ancestors Prototype
4.XElement.AncestorsAndSelf returns a collection of elements
5.XElement.AncestorsAndSelf(XName) returns a filtered collection of elements that contain this element