(PHP 5 >= 5.1.0, PHP 7)
DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
public DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = true ]] ) : mixed
Executes the given XPath expression
and returns a typed result if possible.
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.
registerNodeNS
The optional registerNodeNS
can be specified to disable automatic registration of the context node.
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
.
Example #1 Getting the count of all the english books
<?php $doc = new DOMDocument; $doc->load('book.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:
There are 2 english books
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/domxpath.evaluate.php