XNode.Ancestors Método

Definição

Retorna uma coleção dos elementos ancestrais deste nó.

Sobrecargas

Nome Description
Ancestors()

Retorna uma coleção dos elementos ancestrais deste nó.

Ancestors(XName)

Retorna uma coleção filtrada dos elementos ancestrais deste nó. Somente os elementos que têm uma XName correspondente são incluídos na coleção.

Comentários

Opcionalmente, um nome de nó pode ser especificado para filtrar elementos ancestrais com um nome específico.

Os nós na coleção retornada estão em ordem de documento inversa.

Esse método usa a execução adiada.

Ancestors()

Retorna uma coleção dos elementos ancestrais deste nó.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Ancestors();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors();
member this.Ancestors : unit -> seq<System.Xml.Linq.XElement>
Public Function Ancestors () As IEnumerable(Of XElement)

Retornos

Um IEnumerable<T> dos XElement elementos ancestrais deste nó.

Exemplos

O exemplo a seguir usa esse método para enumerar os ancestrais de um nó.

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

Dim grandChild As IEnumerable(Of XElement) = xmlTree...<GrandChild>
For Each el In grandChild.Ancestors()
    Console.WriteLine(el.Name)
Next

Este exemplo produz a seguinte saída:

Child
Root

Comentários

Esse método não retorna a si mesmo nos resultados.

Os nós na coleção retornada estão em ordem de documento inversa.

Esse método usa a execução adiada.

Confira também

Aplica-se a

Ancestors(XName)

Retorna uma coleção filtrada dos elementos ancestrais deste nó. Somente os elementos que têm uma XName correspondente são incluídos na coleção.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Ancestors(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Ancestors(System.Xml.Linq.XName name);
member this.Ancestors : System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement>
Public Function Ancestors (name As XName) As IEnumerable(Of XElement)

Parâmetros

name
XName

A XName correspondência a ser correspondida.

Retornos

Um IEnumerable<T> dos XElement elementos ancestrais deste nó. Somente os elementos que têm uma XName correspondente são incluídos na coleção.

Os nós na coleção retornada estão em ordem de documento inversa.

Esse método usa a execução adiada.

Exemplos

O exemplo a seguir usa esse método.

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);
Dim xmlTree As XElement = _
        <Root>
            <Child>
                <GrandChild>content</GrandChild>
            </Child>
        </Root>

Dim grandChild As IEnumerable(Of XElement) = xmlTree...<GrandChild>
For Each el In grandChild.Ancestors("Child")
    Console.WriteLine(el.Name)
Next

Este exemplo produz a seguinte saída:

Child

Comentários

Esse método não retornará a si mesmo nos resultados.

Confira também

Aplica-se a