PHP - Fonction SimpleXMLElement :: xpath ()

Définition et utilisation

XML est un langage de balisage permettant de partager les données sur le Web, XML est à la fois lisible par l'homme et par machine. La classe SimpleXMLElement représente un document XML en PHP.

le SimpleXMLElement::xpath() La fonction accepte une valeur de chaîne en tant que paramètre représentant un xpath, recherche et récupère les enfants du nœud XML au chemin donné.

Syntaxe

SimpleXMLElement::xpath($path);

Paramètres

Sr. Non Paramètre et description
1

path (Mandatory)

Il s'agit d'une valeur de chaîne représentant un XPath.

Valeurs de retour

Cette fonction renvoie un tableau d'objets de type SimpleXMLElement représentant les nœuds en cas de succès et, FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction SimpleXMLElement :: xpath ().

<html>
   <head>
      <body>
         <?php
            $xmlstr = "<?xml version='1.0' standalone='yes'?>
            <Tutorial>
               <Name>JavaFX</Name>
               <Pages>535</Pages>
               <Author>Krishna</Author>
               <Version>11</Version>
            </Tutorial>";
            $xml = new SimpleXMLElement($xmlstr);
            $node = $xml->xpath('/Tutorial/Author');
            print_r($node);	  
         ?>      
      </body>
   </head>   
</html>

Cela produira le résultat suivant -

Array ( [0] => SimpleXMLElement Object ( [0] => Krishna ) )

Exemple

Voici un autre exemple de cette fonction où nous essayons de charger le contenu d'un fichier XML et de récupérer le contenu d'un chemin spécifié -

data.xml

<?xml version="1.0" encoding="utf-8"?>
<Tutorials>
   <Tutorial>
      <Name>JavaFX</Name>
      <Pages>535</Pages>
      <Author>Krishna</Author>
      <Version>11</Version>
   </Tutorial>

   <Tutorial>
      <Name>CoffeeScript</Name>
      <Pages>235</Pages>
      <Author>Kasyap</Author>
      <Version>2.5.1</Version>
   </Tutorial>
   
   <Tutorial>
      <Name>OpenCV</Name>
      <Pages>150</Pages>
      <Author>Maruti</Author>
      <Version>3.0</Version>
   </Tutorial>
</Tutorials>

Sample.htm:

<html>
   <head>      
      <body>         
         <?php
            $doc = new DOMDocument;
            $xml = simplexml_load_file("data.xml");
            //file to SimpleXMLElement 
            $xml = simplexml_import_dom($xml);
		
            $node = $xml->xpath('/Tutorials/Tutorial/Name');
            print_r($node);
         ?>
      </body>
   </head>
</html>

Cela produira la sortie suivante -

Array ( 
   [0] => SimpleXMLElement Object ( [0] => JavaFX ) 
   [1] => SimpleXMLElement Object ( [0] => CoffeeScript ) 
   [2] => SimpleXMLElement Object ( [0] => OpenCV ) 
)