Función PHP simplexml_load_string ()
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_load_string() acepta una cadena XML (bien formada) como parámetro, la convierte en un objeto de la clase SimpleXMLElement y la devuelve.
Sintaxis
simplexml_load_string($data, [$class_name, $options, $ns, $is_prefix]);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 | data (Mandatory) Este es un valor de cadena que representa una cadena XML que se debe interpretar como un objeto. |
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. |
3 | optional(Optional) Este es un valor entero que se usa para especificar los parámetros adicionales de Libxml. |
4 | ns(Optional) Este es un valor de cadena que representa el prefijo del espacio de nombres o URI. |
5 | Is_prefix(Optional) Este es un valor booleano que representa si la opción anterior es un prefijo o un URI. |
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_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>
Esto producirá el siguiente resultado:
SimpleXMLElement Object ( [Name] => Raju [Age] => 25 [Salary] => 2000 )
Ejemplo
A continuación se muestra otro ejemplo de esta función, aquí estamos tratando de interpretar una picadura XML que tiene varios registros:
<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>
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 opciones:
<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>
Esto producirá el siguiente resultado:
JavaFX
535
Krishna
11
Ejemplo
<?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;
?>
Esto producirá el siguiente resultado:
Gopal
CEO
Reminder
Don't forget to send a file to me