XNode.Ancestors Método

Definición

Devuelve una colección de los elementos antecesores de este nodo.

Sobrecargas

Ancestors()

Devuelve una colección de los elementos antecesores de este nodo.

Ancestors(XName)

Devuelve una colección filtrada de los elementos antecesores de este nodo. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.

Comentarios

Opcionalmente, se puede especificar un nombre de nodo para filtrar los elementos antecesores con un nombre específico.

Los nodos de la colección devuelta están en el orden del documento inverso.

Este método usa la ejecución diferida.

Ancestors()

Devuelve una colección de los elementos antecesores de este nodo.

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)

Devoluciones

Interfaz IEnumerable<T> de XElement de los elementos antecesores de este nodo.

Ejemplos

En el ejemplo siguiente se usa este método para enumerar los antecesores de un nodo.

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 ejemplo produce el siguiente resultado:

Child  
Root  

Comentarios

Este método no se devuelve en los resultados.

Los nodos de la colección devuelta están en el orden del documento inverso.

Este método usa la ejecución diferida.

Consulte también

Se aplica a

Ancestors(XName)

Devuelve una colección filtrada de los elementos antecesores de este nodo. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.

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

XName que se va a comparar.

Devoluciones

Interfaz IEnumerable<T> de XElement de los elementos antecesores de este nodo. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.

Los nodos de la colección devuelta están en el orden del documento inverso.

Este método usa la ejecución diferida.

Ejemplos

En el ejemplo siguiente se usa 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 ejemplo produce el siguiente resultado:

Child  

Comentarios

Este método no se devolverá en los resultados.

Consulte también

Se aplica a