Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad XPathNavigator.Name

 

Publicado: octubre de 2016

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

Type: System.String

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

The P:System.Xml.XPath.XPathNavigator.Name returned depends on the T:System.Xml.XPath.XPathNodeType of the current node. For example, the name for the <bk:book> element is bk:book.

The following table lists the value returned by the P:System.Xml.XPath.XPathNavigator.Name property, based on the T:System.Xml.XPath.XPathNodeType of the current node.

XPathNodeType

Property Value

Element

The qualified name of the F:System.Xml.XPath.XPathNodeType.Element. In the following example, <bk:book>, the name of the element node is bk:book.

Attribute

The qualified name of the F:System.Xml.XPath.XPathNodeType.Attribute. In the following example, <book bk:genre='novel'>, the name of the F:System.Xml.XPath.XPathNodeType.Attribute node is bk:genre.

Namespace

The prefix associated with the namespace URI. In the following namespace declaration, xmlns:bk='urn:samples', the P:System.Xml.XPath.XPathNavigator.Name property returns bk.

ProcessingInstruction

The target of the F:System.Xml.XPath.XPathNodeType.ProcessingInstruction. In the following example, <?xml-stylesheet type='text/xsl' href= 'books.xsl'?>, the P:System.Xml.XPath.XPathNavigator.Name property returns xml-stylesheet.

All other T:System.Xml.XPath.XPathNodeType nodes

String.Empty.

The following example iterates over the node tree recursively, and displays information about F:System.Xml.XPath.XPathNodeType.Element and F:System.Xml.XPath.XPathNodeType.Text nodes.

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);
        }
    }
}

The example takes the books.xml file as an input.


<?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
Disponible desde 1.1
Silverlight
Disponible desde 4.0
Volver al principio
Mostrar: