Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

XNode.Ancestors Method (XName)

Returns a filtered collection of the ancestor elements of this node. Only elements that have a matching XName are included in the collection.

Namespace:  System.Xml.Linq
Assemblies:   System.Xml.XDocument (in System.Xml.XDocument.dll)
  System.Xml.Linq (in System.Xml.Linq.dll)

public IEnumerable<XElement> Ancestors(
	XName name
)

Parameters

name
Type: System.Xml.Linq.XName

The XName to match.

Return Value

Type: System.Collections.Generic.IEnumerable<XElement>
An IEnumerable<T> of XElement of the ancestor elements of this node. Only elements that have a matching XName are included in the collection.
The nodes in the returned collection are in reverse document order.
This method uses deferred execution.

This method will not return itself in the results.

The following example uses this method.

XElement xmlTree = new XElement("Root",
    new XElement("Child", 
        new XElement("GrandChild", "content")
    )
);
IEnumerable<XElement> grandChild = xmlTree.Descendants("GrandChild");
foreach (XElement el in grandChild.Ancestors("Child"))
    Console.WriteLine(el.Name);

This example produces the following output:

Child

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft