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 английские книги