php8.5
Home/ Manual/ dom / domxpath/ DOMXPath::evaluate

DOMXPath::evaluate

PHP function Edit on GitHub ✎

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

Evaluates the given XPath expression and returns a typed result if possible

Description

DOMXPath::evaluate(string $expression, DOMNode|null $contextNode = null, bool $registerNodeNS = true): mixed

Executes the given XPath expression and returns a typed result if possible.

Parameters

expression

The XPath expression to execute.

contextNode

The optional contextNode can be specified for doing relative XPath queries. By default, the queries are relative to the root element.

Return Values

Returns a typed result if possible or a DOMNodeList containing all nodes matching the given XPath expression.

If the expression is malformed or the contextNode is invalid, DOMXPath::evaluate returns false.

Examples

Getting the count of all the english books

php
<?php

$doc = new DOMDocument;

$doc->load('examples/book-dcobook.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// our query is relative to the tbody node
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";

?>

The above example will output:

output
There are 2 english books

See Also

  • DOMXPath::query

Source: reference/dom/domxpath/evaluate.xml · from the official PHP manual (php/doc-en)