Función PHP simplexml_import_dom ()

Definición y uso

XML es un lenguaje de marcado para compartir los datos a través de la web, XML es legible tanto para humanos como para máquinas. El analizador XML simple se utiliza para analizar el nombre, los atributos y el contenido textual.

los simplexml_import_dom() acepta un objeto de la clase DOMNode como parámetro, lo convierte en un objeto de la clase SimpleXMLElement y lo devuelve.

Sintaxis

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

Parámetros

No Señor Descripción de parámetros
1

node(Mandatory)

Este es un objeto de la clase DOMNode.

2

class_name(Optional)

Este es un valor de cadena para representar el nombre de la clase (subclase de SimpleXMLElement).

Si pasa este valor, la cadena XML dada se devuelve como el objeto de la clase especificada.

Valores devueltos

Esta función devuelve un objeto de la clase SimpleXMLElement en caso de éxito y devuelve el valor booleano FALSE en caso de error.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.

Ejemplo

El siguiente ejemplo demuestra el uso de la función 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>

Esto producirá el siguiente resultado:

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

Ejemplo

En el siguiente ejemplo, estamos intentando recuperar el objeto SimpleXMLElement de (de) un archivo XML con varios registros y recuperar valores de él:

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>

Esto producirá el siguiente resultado:

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

Ejemplo

El siguiente ejemplo demuestra el uso de este método con el parámetro opcional -

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

Esto producirá el siguiente resultado:

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

Ejemplo

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

Esto producirá el siguiente resultado:

Title2