Fonction PHP simplexml_import_dom ()

Définition et utilisation

XML est un langage de balisage pour partager les données sur le Web, XML est à la fois lisible par l'homme et par la machine. L'analyseur XML simple est utilisé pour analyser le nom, les attributs et le contenu textuel.

le simplexml_import_dom() accepte un objet de la classe DOMNode comme paramètre, le convertit en un objet de la classe SimpleXMLElement et le renvoie.

Syntaxe

simplexml_import_dom($filename, [$class_name, $options, $ns, $is_prefix]);

Paramètres

Sr.Non Paramètre et description
1

node(Mandatory)

C'est un objet de la classe DOMNode.

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.

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_import_dom ().

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

Cela produira le résultat suivant -

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

Exemple

Dans l'exemple suivant, nous essayons de récupérer l'objet SimpleXMLElement à partir de (of) un fichier XML avec plusieurs enregistrements et d'en extraire des valeurs -

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>
</Tutorials>

sample.html

<html>
   <head>      
      <body>         
         <?php
            $doc = new DOMDocument;
            $xml = simplexml_load_file("mydata.xml");
            $res = simplexml_import_dom($xml);
            print("<br>");
            foreach($res->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 le paramètre facultatif -

<html>
   <head>
      <body>
         <?php
            $doc=new DOMDocument;
            $str="<Employee>
               <Name>Raju</Name>
               <Age>25</Age>
               <Salary>2000</Salary>
            </Employee>";
            $doc ->loadXML($str);
            $res = simplexml_import_dom($doc, "SimpleXMLElement");
            print_r($res);
         ?>      
      </body>
   </head>   
</html>

Cela produira le résultat suivant -

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

Exemple

<?php
   $dom = new domDocument;
   $dom->loadXML("<car><local><title>
   Title1</title></local><local><title>
   Title2</title></local></car>");
   $x = simplexml_import_dom($dom);
   echo $x->local[1]->title;
?>

Cela produira le résultat suivant -

Title2