Fonction PHP simplexml_load_string ()

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. L'analyseur XML simple est utilisé pour analyser le nom, les attributs et le contenu textuel.

le simplexml_load_string() accepte une chaîne XML (bien formée) comme paramètre la convertit en un objet de la classe SimpleXMLElement et la renvoie.

Syntaxe

simplexml_load_string($data, [$class_name, $options, $ns, $is_prefix]);

Paramètres

Sr. Non Paramètre et description
1

data (Mandatory)

Il s'agit d'une valeur de chaîne représentant une chaîne XML qui doit être interprétée comme un objet.

2

class_name(Optional)

Il s'agit d'une valeur de chaîne représentant le nom de la classe (sous-classe du SimpleXMLElement).

Si vous transmettez cette valeur, la chaîne XML donnée est renvoyée en tant qu'objet de la classe spécifiée.

3

optional(Optional)

Il s'agit d'une valeur entière utilisée pour spécifier les paramètres Libxml supplémentaires.

4

ns(Optional)

Il s'agit d'une valeur de chaîne représentant le préfixe d'espace de noms ou l'URI.

5

Is_prefix(Optional)

Il s'agit d'une valeur booléenne indiquant si l'option précédente est un préfixe ou un URI.

Valeurs de retour

Cette fonction renvoie un objet de la classe SimpleXMLElement en cas de succès et renvoie la valeur booléenne 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 simplexml_load_string ().

<html>
   <head>
      <body>
         <?php
            $data="<?xml version='1.0' encoding='UTF-8'?>
            <Employee>
               <Name>Raju</Name>
               <Age>25</Age>
               <Salary>2000</Salary>
            </Employee>";
            $xml = simplexml_load_string($data);
            print_r($xml);
         ?>      
      </body>
   </head>   
</html>

Cela produira le résultat suivant -

SimpleXMLElement Object ( [Name] => Raju [Age] => 25 [Salary] => 2000 )

Exemple

Voici un autre exemple de cette fonction, ici nous essayons d'interpréter une piqûre XML qui a plusieurs enregistrements -

<html>
   <head>      
      <body>         
         <?php
            $str="<?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>
            </Tutorials>";
            $xml = simplexml_load_string($str);
            print("<br>");
            foreach($xml->children() as $tut) {        
               print($tut->Name ."<br>");
               print($tut->Pages ."<br>");
               print($tut->Author ."<br>");
               print($tut->Version ."<br>");
               print("<br>");
            }
         ?>
      </body>
   </head>
</html>

Cela produira la sortie suivante -

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

Exemple

L'exemple suivant montre l'utilisation de cette méthode avec des options -

<html>
   <head>      
      <body>         
         <?php
            $str = "<Tutorial>
            <Name>JavaFX</Name>
            <Pages>535</Pages>
            <Author>Krishna</Author>
            <Version>11</Version>
            </Tutorial>";
            $xml = simplexml_load_string($str, "SimpleXMLElement", LIBXML_BIGLINES, FALSE);
            print("<br>");
            print($xml->Name ."<br>");
            print($xml->Pages ."<br>");
            print($xml->Author ."<br>");
            print($xml->Version);
         ?>
      </body>
   </head>
</html>

Cela produira le résultat suivant -

JavaFX
535
Krishna
11

Exemple

<?php
   $note = <<<XML   
   <note>
      <to>Gopal</to>
      <from>CEO</from>
      <heading>Reminder</heading>
      <body>Don't forget to send a file to me</body>
   </note>
   XML;   
   $xml = simplexml_load_string($note);
   echo $xml->to . "<br>";
   echo $xml->from . "<br>";
   echo $xml->heading . "<br>";
   echo $xml->body;
?>

Cela produira le résultat suivant -

Gopal
CEO
Reminder
Don't forget to send a file to me