XNode.Ancestors Method (XName)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

Syntax

'Declaration
Public Function Ancestors ( _
    name As XName _
) As IEnumerable(Of XElement)
public IEnumerable<XElement> Ancestors(
    XName name
)

Parameters

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.

Remarks

This method will not return itself in the results.

Examples

The following example uses this method.

StringBuilder output = new StringBuilder();
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"))
    output.Append(el.Name + Environment.NewLine);

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.