(PHP 5 >= 5.1.0)
DOMXPath::evaluate — Вычисляет переданное XPath выражение и возвращает типизированный результат, если возможно
$expression
[, DOMNode $contextnode
[, bool $registerNodeNS
= true
]] )
Выполняет переданное 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