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