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