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

Clase XPathExpression

 

Publicado: octubre de 2016

Proporciona una clase con tipo que representa a una expresión XPath compilada.

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

System.Object
  System.Xml.XPath.XPathExpression

public abstract class XPathExpression

NombreDescripción
System_CAPS_pubpropertyExpression

Cuando se invalida en una clase derivada, obtiene un string representación de la XPathExpression.

System_CAPS_pubpropertyReturnType

Cuando se reemplaza en una clase derivada, obtiene el tipo de resultado de la expresión XPath.

NombreDescripción
System_CAPS_pubmethodAddSort(Object, IComparer)

Cuando se invalida en una clase derivada, ordena los nodos seleccionados por la expresión XPath según lo especificado IComparer objeto.

System_CAPS_pubmethodAddSort(Object, XmlSortOrder, XmlCaseOrder, String, XmlDataType)

Cuando se reemplaza en una clase derivada, ordena los nodos seleccionados por la expresión XPath según los parámetros proporcionados.

System_CAPS_pubmethodClone()

Cuando se invalida en una clase derivada, devuelve un clon de este XPathExpression.

System_CAPS_pubmethodSystem_CAPS_staticCompile(String)

Compila la expresión XPath especificada y devuelve un objeto XPathExpression que representa la expresión XPath.

System_CAPS_pubmethodSystem_CAPS_staticCompile(String, IXmlNamespaceResolver)

Compila la expresión XPath especificada, con el IXmlNamespaceResolver objeto especificado para la resolución de espacio de nombres y devuelve un XPathExpression objeto que representa la expresión XPath.

System_CAPS_pubmethodEquals(Object)

Determina si el objeto especificado es igual al objeto actual.(Heredado de Object).

System_CAPS_protmethodFinalize()

Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por el recolector de basura. (Heredado de Object).

System_CAPS_pubmethodGetHashCode()

Sirve como la función hash predeterminada.(Heredado de Object).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficial del Object actual.(Heredado de Object).

System_CAPS_pubmethodSetContext(IXmlNamespaceResolver)

Cuando se invalida en una clase derivada, especifica el objeto IXmlNamespaceResolver que se utiliza para la resolución del espacio de nombres.

System_CAPS_pubmethodSetContext(XmlNamespaceManager)

Cuando se reemplaza en una clase derivada, especifica el objeto XmlNamespaceManager que se va a usar para la resolución del espacio de nombres.

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

This class is returned as the result of the M:System.Xml.XPath.XPathNavigator.Compile(System.String) method of the T:System.Xml.XPath.XPathNavigator class. It is a parameter to the Overload:System.Xml.XPath.XPathNavigator.Evaluate, Overload:System.Xml.XPath.XPathNavigator.Matches, Overload:System.Xml.XPath.XPathNavigator.Select, and Overload:System.Xml.XPath.XPathNavigator.SelectSingleNode methods of the T:System.Xml.XPath.XPathNavigator class.

Notas para desarrolladores de herederos:

When you inherit from the T:System.Xml.XPath.XPathExpression class, you must override the following members:

The following example shows how to use the XPath return type to determine how to process the XPath expression.

using System;
using System.Xml;
using System.Xml.XPath;

public class XPathExpressionExample
{
    public static void Main()
    {
        XPathDocument document = new XPathDocument("contosoBooks.xml");
        XPathNavigator navigator = document.CreateNavigator();

        XPathExpression expression1 = XPathExpression.Compile(".//bk:price/text()*10"); // Returns a number.
        XPathExpression expression2 = XPathExpression.Compile("bk:bookstore/bk:book/bk:price"); // Returns a nodeset.

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

        expression1.SetContext(manager);
        expression2.SetContext(manager);

        Evaluate(expression1, navigator);
        Evaluate(expression2, navigator);
    }

    public static void Evaluate(XPathExpression expression, XPathNavigator navigator)
    {
        switch (expression.ReturnType)
        {
            case XPathResultType.Number:
                Console.WriteLine(navigator.Evaluate(expression));
                break;

            case XPathResultType.NodeSet:
                XPathNodeIterator nodes = navigator.Select(expression);
                while (nodes.MoveNext())
                {
                    Console.WriteLine(nodes.Current.ToString());
                }
                break;

            case XPathResultType.Boolean:
                if ((bool)navigator.Evaluate(expression))
                    Console.WriteLine("True!");
                break;

            case XPathResultType.String:
                Console.WriteLine(navigator.Evaluate(expression));
                break;
        }
    }
}

The example takes the contosoBooks.xml file as 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 1.1
Silverlight
Disponible desde 4.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: