DOMXPath::evaluate
(PHP 5 >= 5.1.0)
DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible.
Description
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.
- registerNodeNS
-
The optional registerNodeNS can be specified to disable automatic registration of the context node.
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.
Changelog
Version | Description |
---|---|
5.3.3 | The registerNodeNS parameter was added. |
Examples
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