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