# DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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` = `null`, 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`.

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

- DOMXPath::query() - Evalúa la expresión XPath dada