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

Método XPathNavigator.SelectSingleNode (String, IXmlNamespaceResolver)

 

Publicado: noviembre de 2016

Selecciona un solo nodo del objeto XPathNavigator usando la consulta XPath especificada con el objeto IXmlNamespaceResolver especificado para resolver los prefijos de espacio de nombres.

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

public virtual XPathNavigator SelectSingleNode(
	string xpath,
	IXmlNamespaceResolver resolver
)

Parámetros

xpath
Type: System.String

String que representa una expresión XPath.

resolver
Type: System.Xml.IXmlNamespaceResolver

Objeto IXmlNamespaceResolver usado para resolver los prefijos de espacio de nombres en la consulta XPath.

Valor devuelto

Type: System.Xml.XPath.XPathNavigator

Objeto XPathNavigator que contiene el primer nodo que coincide con la consulta XPath especificada; en caso contrario, es null si la consulta no genera resultados.

Exception Condition
ArgumentException

Se encontró un error en la consulta XPath o el tipo de valor devuelto de la expresión XPath no es un nodo.

XPathException

La consulta XPath no es válida.

The M:System.Xml.XPath.XPathNavigator.SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver) method selects the first node that matches the XPath query specified. The M:System.Xml.XPath.XPathNavigator.SelectSingleNode(System.String,System.Xml.IXmlNamespaceResolver) method uses the T:System.Xml.IXmlNamespaceResolver object to resolve namespace prefixes.

System_CAPS_noteNota

In XPath all namespaces must be prefixed in a query. If an XML document uses a default namespace, you must still add a namespace prefix to the T:System.Xml.IXmlNamespaceResolver object.

The following example selects a single node from the T:System.Xml.XPath.XPathNavigator object based on the XPath query specified and uses the T:System.Xml.XmlNamespaceManager object specified to resolve namespace prefixes in the XPath query.

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

XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");

XPathNavigator node = navigator.SelectSingleNode("//bk:title", manager);
Console.WriteLine(node.InnerXml);

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


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