DOMXPath::evaluate
(PHP 5 >= 5.1.0)
DOMXPath::evaluate — Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible
Descripción
$expression
[, DOMNode $contextnode
[, bool $registerNodeNS = true
]] )
Ejecuta la expresión XPath dada por expression y devuelve
un resultado escrito si es posible.
Parámetros
-
expression -
La expresión XPath a ejecutar.
-
contextnode -
El parámetro opcional
contextnodese puede especificar para hacer consultas XPath relativas. Por omisión, las consultas son relativas al elemento raíz. -
registerNodeNS -
El parámetro opcional
registerNodeNSpuede ser especificado para deshabilitar el registro automático del nodo de contexto.
Valores devueltos
Devuelve un resultado escrito si es posible o un objeto DOMNodeList
que contiene todos los nodos coincidentes con la expresión XPath dada por expression.
Si el parámetro expression está malformado
o el parámetro contextnode es inválido,
DOMXPath::evaluate() devuelve FALSE.
Historial de cambios
| Versión | Descripción |
|---|---|
| 5.3.3 |
Se añadió el parámetro registerNodeNS.
|
Ejemplos
Ejemplo #1 Obtener el número de todos los libros en inglés
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// nuestra consulta es relativa al nodo tbody
$consulta = 'count(row/entry[. = "en"])';
$entradas = $xpath->evaluate($consulta, $tbody);
echo "Hay $entradas libros en inglés\n";
?>
El resultado del ejemplo sería:
Hay 2 libros en inglés