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.Name (Propiedad)

Cuando se invalida en una clase derivada, obtiene el nombre completo del nodo actual.

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

public abstract string Name { get; }

Valor de propiedad

Tipo: System.String
String que contiene el Name calificado del nodo actual o String.Empty si el nodo actual no tiene nombre (por ejemplo, texto o nodos de comentario).

El Name que se devuelva depende del XPathNodeType del nodo actual. Por ejemplo, el nombre del elemento <bk:book> es bk:book.

La tabla siguiente enumera el valor que devuelve la propiedad Name según el XPathNodeType del nodo actual.

XPathNodeType

Valor de propiedad

Element

Nombre calificado de Element. En el siguiente ejemplo, <bk:book>, el nombre del nodo de elementos es bk:book.

Attribute

Nombre calificado de Attribute. En el siguiente ejemplo, <book bk:genre='novel'>, el nombre del nodo Attribute es bk:genre.

Namespace

Prefijo asociado al identificador URI de espacio de nombres. En la siguiente declaración de espacio de nombres, xmlns:bk='urn:samples', la propiedad Name devuelve bk.

ProcessingInstruction

Destino de ProcessingInstruction. En el siguiente ejemplo, <?xml-stylesheet type='text/xsl' href= 'books.xsl'?>, la propiedad Name devuelve xml-stylesheet.

Todos los demás nodos XPathNodeType

String.Empty .

En el ejemplo siguiente se recorre en iteración de forma recursiva el árbol de nodos y se muestra información sobre los nodos Element y Text.


static void XPathNavigatorMethods_MoveToNext()
{

    XPathDocument document = new XPathDocument("books.xml");
    XPathNavigator navigator = document.CreateNavigator();
    XPathNodeIterator nodeset = navigator.Select("descendant::book[author/last-name='Melville']");

    while (nodeset.MoveNext())
    {
        // Clone iterator here when working with it.
        RecursiveWalk(nodeset.Current.Clone());
    }
}

public static void RecursiveWalk(XPathNavigator navigator)
{
    switch (navigator.NodeType)
    {
        case XPathNodeType.Element:
            if (navigator.Prefix == String.Empty)
                Console.WriteLine("<{0}>", navigator.LocalName);
            else
                Console.Write("<{0}:{1}>", navigator.Prefix, navigator.LocalName);
            Console.WriteLine("\t" + navigator.NamespaceURI);
            break;
        case XPathNodeType.Text:
            Console.WriteLine("\t" + navigator.Value);
            break;
    }

    if (navigator.MoveToFirstChild())
    {
        do
        {
            RecursiveWalk(navigator);
        } while (navigator.MoveToNext());

        navigator.MoveToParent();
        if (navigator.NodeType == XPathNodeType.Element)
            Console.WriteLine("</{0}>", navigator.Name);
    }
    else
    {
        if (navigator.NodeType == XPathNodeType.Element)
        {
            Console.WriteLine("</{0}>", navigator.Name);
        }
    }
}


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


<?xml version="1.0" encoding="utf-8" ?> 
<bookstore>
    <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:
© 2014 Microsoft