(PHP 5 >= 5.1.0, PHP 7)
DOMXPath::evaluate — Вычисляет переданное выражение XPath и возвращает типизированный результат, если возможно
$expression
[, DOMNode $contextnode
[, bool $registerNodeNS
= TRUE
]] ) : mixed
Выполняет переданное выражение XPath expression
и
возвращает типизированный результат, если это возможно.
expression
Выражение XPath для выполнения.
contextnode
Дополнительный параметр contextnode
может быть
указан для выполнения относительных запросов XPath. По
умолчанию запросы выполняются относительно корневого элемента.
registerNodeNS
Дополнительный параметр registerNodeNS
можно указать,
чтобы отключить автоматическую регистрацию контекста узла.
Возвращает типизированный результат, если это возможно, либо объект
DOMNodeList, содержащий все узлы, соответствующие
заданному XPath-выражению expression
.
Если expression
построено
неправильно или contextnode
имеет неверное значение,
DOMXPath::evaluate() вернет FALSE
.
Версия | Описание |
---|---|
5.3.3 |
Добавлен аргумент registerNodeNS .
|
Пример #1 Получение количества всех английских книг
<?php
$doc = new DOMDocument;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// запрос относительно узла tbody
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "Есть $entries английские книги\n";
?>
Результат выполнения данного примера:
Есть 2 английские книги