DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath::evaluate Evalúa la expresión XPath dada y devuelve un resultado escrito si es posible

Descripción

public DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] ) : mixed

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 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.

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

Ver también