PHP SimpleXML maneja las tareas XML más comunes, dejando el resto a otras extensiones.
SimpleXML es una nueva característica de PHP 5.
La extensión SimpleXML proporciona una forma sencilla de obtener el nombre y el texto de elementos XML.
En comparación con los analizadores DOM o Expat, SimpleXML puede leer datos de texto de elementos XML con solo unas pocas líneas de código.
SimpleXML puede convertir documentos XML (o cadenas XML) en objetos, como por ejemplo:
El elemento se convierte en una propiedad única de un objeto SimpleXMLElement. Cuando hay varios elementos en el mismo nivel, se colocan en una matriz.
Se accede a las propiedades mediante una matriz asociativa, donde el índice corresponde al nombre de la propiedad.
El texto dentro del elemento se convierte en una cadena. Si un elemento tiene varios nodos de texto, se organizan en el orden en que se encuentran.
SimpleXML es muy rápido de usar al realizar tareas básicas como:
Leer/extraer datos de archivos/cadenas XML
Editar nodo o atributo de texto
Sin embargo, cuando se trata de XML avanzado, como espacios de nombres, es mejor utilizar el analizador Expat o el DOM XML.
A partir de PHP 5, las funciones SimpleXML son parte del núcleo de PHP. No se requiere instalación para utilizar estas funciones.
Supongamos que tenemos el siguiente archivo XML, "note.xml":
< ? versión = " 1.0 " codificación = " ISO-8859-1 " ?> <nota> < a > Tove </ a > < de > Jani </ de > < encabezado > Recordatorio </ encabezado > < cuerpo > ¡No me olvides este fin de semana </ cuerpo > ! </nota>Ahora queremos generar información diferente del archivo XML anterior:
Genere las claves y elementos de la variable $xml (que es un objeto SimpleXMLElement):
<?php $xml = simplexml_load_file ( " nota.xml " ) ; print_r ( $xml ) ? >;El código anterior generará:
Objeto SimpleXMLElement ([a] => Tove [de] => Jani [encabezado] => Recordatorio [cuerpo] => ¡No me olvides este fin de semana!)
Datos de salida para cada elemento en un archivo XML:
<?php $ xml = simplexml_load_file ( " nota.xml " ) ; $ xml - > a " <br> " ; $ xml - > de " <br> " ; $ xml - > encabezado " <br> " ; $xml -> cuerpo ? >El código anterior generará:
ToveJaniRecordatorio ¡No me olvides este fin de semana!
Genere el nombre del elemento y los datos para cada nodo secundario:
<?php $ xml = simplexml_load_file ( " nota.xml " ) ; $xml -> getName ( ) " <br> " ; foreach ( $xml - > niños ( ) como $niño ) { eco $ niño - > getName ( ) " : " $ niño . ?>El código anterior generará:
noteto: Tovefrom: Janiheading: Reminderbody: ¡No me olvides este fin de semana!
Para obtener más información sobre las funciones de PHP SimpleXML, visite nuestro manual de referencia de PHP SimpleXML.