DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7)

DOMXPath::evaluate Évalue une expression XPath donnée et retourne un résultat typé si possible

Description

public DOMXPath::evaluate ( string $expression [, DOMNode $contextnode [, bool $registerNodeNS = TRUE ]] ) : mixed

Exécute l'expression XPath expression et retourne un résultat typé si possible.

Liste de paramètres

expression

L'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 root.

registerNodeNS

Le paramètre optionnel registerNodeNS peut être renseigné pour désactiver l'enregistrement automatique du noeud de contexte.

Valeurs de retour

Retourne un résultat typé si possible ou un DOMNodeList contenant tous les noeuds 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() retournera FALSE.

Historique

Version Description
5.3.3 Ajout du paramètre registerNodeNS.

Exemples

Exemple #1 Récupération du nombre total de livres anglais

<?php

$doc 
= new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody $doc->getElementsByTagName('tbody')->item(0);

// notre requête est relative au noeud 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

Voir aussi