SimpleXMLElement::xpath
PHP Manual
PHP Manual»SimpleXMLElement»SimpleXMLElement::xpath

SimpleXMLElement::xpath

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::xpath — Exécute une requête Xpath sur des données XML

Description

public function SimpleXMLElement::xpath(string $expression): array|null|false

La méthode xpath cherche dans le nœud SimpleXML les enfants qui correspondent à l'expression Xpath.

Liste de paramètres

expression

Un chemin XPath

Valeurs de retour

Retourne un tableau d'objets SimpleXMLElement en cas de succès ou null ou false si une erreur survient.

À partir de PHP 8.5.0, si l'expression XPath retourne autre chose qu'un ensemble de nœuds (par exemple un booléen ou un nombre), un E_WARNING est émis et false est retourné, au lieu de retourner silencieusement un tableau vide.

Historique

Version Description
8.5.0 Si l'expression XPath retourne autre chose qu'un ensemble de nœuds, un E_WARNING est désormais émis et false est retourné. Auparavant, un tableau vide était retourné silencieusement.

Exemples

Exemple #1 Xpath

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* On cherche <a><b><c> */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
    echo '/a/b/c: ',$node,"\n";
}

/* Les chemins relatifs fonctionnent aussi... */
$result = $xml->xpath('b/c');

foreach ($result as $node) {
    echo 'b/c: ',$node,"\n";
}
?>

L'exemple ci-dessus va afficher :

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

Il est à noter que les deux résultats sont égaux.

Voir aussi

To Top