PHP | función simplexml_load_string()

A veces es necesario analizar datos XML en PHP. Hay un puñado de métodos disponibles para analizar datos XML. SimpleXML es uno de ellos. Analizar un documento XML significa navegar a través del documento XML y devolver la información relevante. Hoy en día, algunas API devuelven datos en formato JSON, pero todavía hay una gran cantidad de sitios web que devuelven datos en formato XML. Así que tenemos que dominar el análisis de un documento XML si queremos deleitarnos con las API disponibles.

PHP SimpleXML se introdujo en PHP 5.0. La función simplexml_load_string() en PHP se usa para interpretar una string XML en un objeto.

Sintaxis :

simplexml_load_string($data, $classname, $options, $ns, $is_prefix);

Parámetros : esta función acepta cinco parámetros como se muestra en la sintaxis anterior. Todos estos parámetros se describen a continuación:

  • $datos : una string XML bien formada.
  • $classname : Clase del nuevo objeto.
  • $opciones : los parámetros adicionales de Libxml se establecen especificando la opción y 1 o 0.
  • $ns : VERDADERO si ns es un prefijo. FALSO si ns es un URI. El valor predeterminado es FALSO
  • $is_prefix : VERDADERO si ns es un prefijo. FALSO si ns es un URI. El valor predeterminado es FALSO

Los valores posibles para el parámetro $opciones son los siguientes:

  • LIBXML_COMPACT : Activar optimización de asignación de Nodes.
  • LIBXML_DTDATTR: Establecer atributos de DTD predeterminados
  • LIBXML_DTDLOAD: Cargar subconjunto externo
  • LIBXML_DTDVALID: Validar con la DTD
  • LIBXML_NOBLANKS: Eliminar Nodes en blanco
  • LIBXML_NOCDATA: Combinar CDATA como Nodes de texto
  • LIBXML_NOEMPTYTAG: Expandir etiquetas vacías
  • LIBXML_NOENT: entidades sustitutas
  • LIBXML_NOERROR: No mostrar informes de errores<
  • LIBXML_NONET: deshabilite el acceso a la red mientras carga documentos
  • LIBXML_NOWARNING: No mostrar informes de advertencia
  • LIBXML_NOXMLDECL: Suelte la declaración XML al guardar un documento
  • LIBXML_NSCLEAN: Eliminar declaraciones de espacios de nombres redundantes
  • LIBXML_PARSEHUGE: Establece el indicador XML_PARSE_HUGE
  • LIBXML_XINCLUDE: Implementar la sustitución de XInclude
  • LIBXML_ERR_ERROR: Obtener errores recuperables
  • LIBXML_ERR_FATAL: Obtener errores fatales
  • LIBXML_ERR_NONE: No obtener errores
  • LIBXML_ERR_WARNING: Recibe advertencias simples
  • LIBXML_VERSION: Obtener la versión libxml
  • LIBXML_DOTTED_VERSION: Obtener la versión libxml con puntos

Valor devuelto Esta función devuelve un objeto SimpleXMLElement en caso de éxito y FALSO en caso de error.

Los siguientes programas ilustran la función simplexml_load_string():

Programa 1 :

<?php
$note=<<<XML
<note>
  <to>User 1</to>
  <from>User 2</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>
XML;
  
$xml = simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>

Producción:

User 1
User 2
Reminder
Don't forget me this weekend!

Programa 2 :

<?php
$note=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<book>
    <name>PHP</name>
    <name>Java</name>
    <name>C++</name>
    <name>Python</name>
</book>
XML;
  
$xml=simplexml_load_string($note);
echo $xml->getName() . "\n";
  
foreach($xml->children() as $child){
   echo $child->getName() . ": " . $child . "\n";
}
?>

Producción:

book
name : PHP
name : Java
name : C++
name : Python

Referencia:
http://php.net/manual/en/function.simplexml-load-string.php

Publicación traducida automáticamente

Artículo escrito por Saptarshi_Das y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *