DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath::evaluate Вычисляет переданное выражение XPath и возвращает типизированный результат, если возможно

Описание

public DOMXPath::evaluate ( string $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 английские книги

Смотрите также