Funzione PHP simplexml_import_dom ()

Definizione e utilizzo

XML è un linguaggio di markup per condividere i dati sul Web, XML è sia leggibile dall'uomo che dalla macchina. Il semplice parser XML viene utilizzato per analizzare nome, attributi e contenuto testuale.

Il simplexml_import_dom() accetta un oggetto della classe DOMNode come parametro, lo converte in un oggetto della classe SimpleXMLElement e lo restituisce.

Sintassi

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

Parametri

Suor n Parametro e descrizione
1

node(Mandatory)

Questo è un oggetto della classe DOMNode.

2

class_name(Optional)

Questo è un valore stringa per rappresentare il nome della classe (sottoclasse di SimpleXMLElement).

Se si passa questo valore, la stringa XML fornita viene restituita come oggetto della classe specificata.

Valori restituiti

Questa funzione restituisce un oggetto della classe SimpleXMLElement in caso di successo e restituisce il valore booleano FALSE in caso di fallimento.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 5 di PHP e funziona in tutte le versioni successive.

Esempio

L'esempio seguente mostra l'utilizzo della funzione 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>

Questo produrrà il seguente risultato:

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

Esempio

Nell'esempio seguente stiamo cercando di recuperare l'oggetto SimpleXMLElement da (di) un file XML con più record e recuperare i valori da esso -

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>

Questo produrrà il seguente output:

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

Esempio

L'esempio seguente dimostra l'utilizzo di questo metodo con il parametro facoltativo -

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

Questo produrrà il seguente risultato:

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

Esempio

<?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;
?>

Questo produrrà il seguente risultato:

Title2