(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Evaluates the given XPath expression and returns a typed result if possible
$expression
, ?DOMNode $contextNode
= null
, 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
Визначає, чи необхідно автоматично реєструвати префікси простору імен в області видимості контекстного вузла для об'єкта DOMXPath. Потрібно для того, щоб не викликати метод DOMXPath::registerNamespace() для кожного простору імен в області видимості. Коли префікси збігаються, реєструється тільки префікс простору імен найближчого нащадка.
The following errors are possible when using an expression that invokes PHP callbacks.
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
.
Приклад #1 Getting the count of all the english books
<?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";
?>
Поданий вище приклад виведе:
There are 2 english books