Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

XPathNavigator.SelectAncestors (Método) (String, String, Boolean)

Selecciona todos los nodos antecesores del nodo actual que tengan el nombre local y el URI de espacio de nombres especificados.

Espacio de nombres:  System.Xml.XPath
Ensamblado:  System.Xml (en System.Xml.dll)

public virtual XPathNodeIterator SelectAncestors(
	string name,
	string namespaceURI,
	bool matchSelf
)

Parámetros

name
Tipo: System.String
Nombre local de los nodos antecesores.
namespaceURI
Tipo: System.String
Identificador URI de espacio de nombres de los nodos antecesores.
matchSelf
Tipo: System.Boolean
Es true para incluir el nodo de contexto en la selección; en caso contrario, es false.

Valor devuelto

Tipo: System.Xml.XPath.XPathNodeIterator
XPathNodeIterator que contiene los nodos seleccionados. Los nodos que se devuelven están en orden de documento inverso.

ExcepciónCondición
ArgumentNullException

null no se puede pasar como parámetro.

Si String.Empty se especifica como parámetro name, se seleccionan todos los nodos antecesores que pertenecen al URI de espacio de nombres especificado. Si String.Empty se especifica como el parámetro namespaceURI, se seleccionan todos los nodos antecesores con el nombre local especificado que no pertenezcan a ningún espacio de nombres. Si String.Empty se especifica como el nombre local y como URI de espacio de nombres, se seleccionan todos los nodos antecesores que no pertenezcan a ningún espacio de nombres.

El método SelectAncestors no tiene ningún efecto en el estado del objeto XPathNavigator.

En el ejemplo siguiente, se muestra la selección de nodos antecesores, secundarios y descendientes.


XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");

// Select all the descendant nodes of the book node.
XPathNodeIterator bookDescendants = navigator.SelectDescendants("", "http://www.contoso.com/books", false);

// Display the LocalName of each descendant node.
Console.WriteLine("Descendant nodes of the book node:");
while (bookDescendants.MoveNext())
{
    Console.WriteLine(bookDescendants.Current.Name);
}

// Select all the child nodes of the book node.
XPathNodeIterator bookChildren = navigator.SelectChildren("", "http://www.contoso.com/books");

// Display the LocalName of each child node.
Console.WriteLine("\nChild nodes of the book node:");
while (bookChildren.MoveNext())
{
    Console.WriteLine(bookChildren.Current.Name);
}

// Select all the ancestor nodes of the title node.
navigator.MoveToChild("title", "http://www.contoso.com/books");

XPathNodeIterator bookAncestors = navigator.SelectAncestors("", "http://www.contoso.com/books", false);

// Display the LocalName of each ancestor node.
Console.WriteLine("\nAncestor nodes of the title node:");

while (bookAncestors.MoveNext())
{
    Console.WriteLine(bookAncestors.Current.Name);
}


En el ejemplo, se toma el archivo contosoBooks.xml como entrada.


<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft