(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Avalia a expressão XPath fornecida e retorna um resultado tipado se possível
$expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed
Executa a expressão XPath expression fornecida e retorna
um resultado tipado se possível.
expressionA expressão XPath a ser executada.
contextNode
O contextNode opcional pode ser especificado para
realizar consultas XPath relativas. Por padrão, as consultas são relativas ao
elemento raiz.
registerNodeNSOs seguintes erros são possíveis ao usar uma expressão que invoca retornos de chamada PHP.
php:function for usada e o nome do manipulador
não for uma string.
Retorna um resultado tipado se possível ou uma DOMNodeList
contendo todos os nós que correspondem à expressão XPath expression.
Se a expression estiver malformada ou o
contextNode for inválido,
DOMXPath::evaluate() retorna false.
Exemplo #1 Obtendo a contagem de todos os livros em inglês
<?php
$doc = new DOMDocument;
$doc->load('examples/book-dcobook.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// nossa consulta é relativa ao nó tbody
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "There are $entries english books\n";
?>O exemplo acima produzirá:
There are 2 english books