XNode.Ancestors Método

Definição

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

Sobrecargas

Name Description
Ancestors()

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

Ancestors(XName)

Devolve uma coleção filtrada dos elementos ancestrais deste nó. Apenas os elementos que têm correspondência XName são incluídos na coleção.

Observações

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

Os nós na coleção devolvida estão em ordem inversa dos documentos.

Este método utiliza execução diferida.

Ancestors()

Devolve 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)

Devoluções

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

Exemplos

O exemplo seguinte utiliza este método para enumerar os antepassados 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

Observações

Este método não se reflete nos resultados.

Os nós na coleção devolvida estão em ordem inversa dos documentos.

Este método utiliza execução diferida.

Ver também

Aplica-se a

Ancestors(XName)

Devolve uma coleção filtrada dos elementos ancestrais deste nó. Apenas os elementos que têm correspondência XName 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

O XName para combinar.

Devoluções

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

Os nós na coleção devolvida estão em ordem inversa dos documentos.

Este método utiliza execução diferida.

Exemplos

O exemplo seguinte utiliza este 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

Observações

Este método não se reencontra nos resultados.

Ver também

Aplica-se a