DOMXPath::evaluate
(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
.
Примеры
Пример #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 английские книги