(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Evalúa una expresión XPath dada y devuelve un resultado tipado si es posible
$expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed
Ejecuta la expresión XPath expression
y devuelve un resultado tipado si es posible.
expressionLa expresión XPath a ejecutar.
contextNode
El argumento opcional contextNode puede ser
especificado para realizar consultas XPath relativas. Por omisión, las consultas
son relativas al elemento root.
registerNodeNSLos siguientes errores pueden ocurrir al utilizar una expresión que invoca retrollamadas PHP.
php:function es utilizada y el nombre del gestor
no es un string.
Devuelve un resultado tipado si es posible o un DOMNodeList
que contiene todos los nodos que coinciden con la expresión XPath
expression.
Si el argumento expression está mal formado
o bien si el argumento contextNode es inválido,
el método DOMXPath::evaluate() devolverá false.
Ejemplo #1 Recuperación del número total de libros en inglés
<?php
$doc = new DOMDocument;
$doc->load('examples/book-dcobook.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// nuestra consulta es relativa al nodo tbody
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "Hay $entries libros en inglés\n";
?>El ejemplo anterior mostrará:
Hay 2 libros en inglés