XNode.Ancestors Método

Definição

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

Sobrecargas

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 um 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 na ordem de documento inversa.

Este método utiliza 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

IEnumerable<XElement>

Um IEnumerable<T> de XElement dos 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  

Esse exemplo gera a saída a seguir:

Child  
Root  

Comentários

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

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

Este método utiliza 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 um 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);
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 correspondente.

Retornos

IEnumerable<XElement>

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

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

Este método utiliza 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  

Esse exemplo gera a saída a seguir:

Child  

Comentários

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

Confira também

Aplica-se a