(PHP 5 >= 5.1.0, PHP 7, PHP 8)
DOMXPath::evaluate — Évalue une expression XPath donnée et retourne un résultat typé si possible
$expression, ?DOMNode $contextNode = null, bool $registerNodeNS = true): mixed
Exécute l'expression XPath expression
et retourne un résultat typé si possible.
expressionL'expression XPath à exécuter.
contextNode
Le paramètre optionnel contextNode peut être
spécifié pour effectuer des requêtes XPath relatives. Par défaut, les requêtes
sont relatives à l'élément racine.
registerNodeNSLes erreurs suivantes peuvent survenir lors de l'utilisation d'une expression qui invoque des callbacks PHP.
php:function est utilisée et que le nom du gestionnaire
n'est pas une chaîne de caractères.
Retourne un résultat typé si possible ou un DOMNodeList
contenant tous les nœuds correspondant à l'expression XPath
expression.
Si le paramètre expression est mal formé
ou bien si le paramètre contextNode est invalide,
la méthode DOMXPath::evaluate() retourne false.
Exemple #1 Récupération du nombre total de livres anglais
<?php
$doc = new DOMDocument;
$doc->load('examples/book-dcobook.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// notre requête est relative au nœud tbody
$query = 'count(row/entry[. = "en"])';
$entries = $xpath->evaluate($query, $tbody);
echo "Il y a $entries livres anglais\n";
?>L'exemple ci-dessus va afficher :
Il y a 2 livres anglais