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.Evaluate (Método) (XPathExpression, XPathNodeIterator)

Utiliza el contexto proporcionado para evaluar la expresión XPathExpression y devuelve el resultado con tipo.

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

public virtual Object Evaluate(
	XPathExpression expr,
	XPathNodeIterator context
)

Parámetros

expr
Tipo: System.Xml.XPath.XPathExpression
XPathExpression que se puede evaluar.
context
Tipo: System.Xml.XPath.XPathNodeIterator
XPathNodeIterator que señala al conjunto de nodos seleccionado en el que se va a llevar a cabo la evaluación.

Valor devuelto

Tipo: System.Object
Resultado de la expresión (valor booleano, número, cadena o conjunto de nodos). Se asigna a los objetos Boolean, Double, String o XPathNodeIterator, respectivamente.

ExcepciónCondición
ArgumentException

El tipo de valor devuelto de la expresión XPath es un conjunto de nodos.

XPathException

La expresión XPath no es válida.

Se evalúa la expresión utilizando el nodo Current de XPathNodeIterator como nodo Context. Si context es null, el nodo en el que se sitúa actualmente el objeto XPathNavigator se utilizará como nodo de contexto.

Las funciones position() y last(), a menos que se utilicen como predicado en una fase de ubicación, siempre devuelven 0 en las siguientes condiciones:

Dado que position() y last() funcionan en el nodo actual, no se debe utilizar la propiedad Current para alejarse del conjunto de nodos seleccionado. Esto podría invalidar el estado de XPathNavigator.

Este método no tiene ningún efecto sobre el estado del objeto XPathNavigator.

En el ejemplo siguiente, se evalúa una expresión XPathExpression y se devuelve Double mediante el nodo Current de XPathNodeIterator como nodo de contexto.


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

XPathNodeIterator nodes = navigator.Select("//book");
XPathExpression query = nodes.Current.Compile("sum(descendant::price)");

Double total = (double)navigator.Evaluate(query, nodes);
Console.WriteLine("Total price for all books: {0}", total.ToString());


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:
© 2015 Microsoft