(PHP 5 >= 5.1.0, PHP 7)
DOMXPath::evaluate — Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible
$expression
[, DOMNode $contextnode
[, bool $registerNodeNS
= TRUE
]] ) : mixed
Ejecuta la expresión XPath dada por expression
y devuelve
un resultado escrito si es posible.
expression
La expresión XPath a ejecutar.
contextnode
El parámetro opcional contextnode
se puede especificar para
hacer consultas XPath relativas. Por omisión, las consultas son relativas al
elemento raíz.
registerNodeNS
El parámetro opcional registerNodeNS
puede ser especificado para
deshabilitar el registro automático del nodo de contexto.
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
.
Versión | Descripción |
---|---|
5.3.3 |
Se añadió el parámetro registerNodeNS .
|
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