XNode.Ancestors Método

Definición

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

Sobrecargas

Nombre Description
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 solo se incluyen los elementos que tienen una 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 orden inverso del documento.

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

IEnumerable<T> de XElement 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 orden inverso del documento.

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 solo se incluyen los elementos que tienen una 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);
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

que XName se va a coincidir.

Devoluciones

IEnumerable<T> de XElement los elementos antecesores de este nodo. En la colección solo se incluyen los elementos que tienen una XName coincidente.

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

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