PHP SimpleXML


PHP SimpleXML maneja las tareas XML más comunes; el resto de tareas se delegan en otras extensiones.


¿Qué es PHP SimpleXML?

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 los elementos XML.

En comparación con el analizador 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, por ejemplo:

  • Los elementos se convierten en propiedades únicas del objeto SimpleXMLElement. Cuando existen varios elementos en el mismo nivel, se colocan en una matriz.
  • Los atributos se acceden mediante matrices asociativas, cuyos índices corresponden a los nombres de los atributos.
  • El texto dentro de los elementos se convierte en cadenas. Si un elemento tiene varios nodos de texto, se organizan en el orden en que se encuentran.

SimpleXML es muy rápido cuando se realizan tareas básicas como las siguientes:

  • Leer/extraer datos de archivos/cadenas XML
  • Editar nodos de texto o atributos

Sin embargo, al manejar XML avanzado, como los espacios de nombres, es mejor utilizar el analizador Expat o XML DOM.


Instalación

Desde PHP 5, las funciones SimpleXML forman parte del núcleo de PHP. Estas funciones se pueden usar sin necesidad de instalación.


Ejemplos de PHP SimpleXML

Supongamos que tenemos el siguiente archivo XML, "":

<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

Ahora queremos mostrar diferente información del archivo XML anterior:

Ejemplo 1

Mostrar las claves y los elementos de la variable $xml (que es un objeto SimpleXMLElement):

<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>

Ejecutar ejemplo »

El código anterior generará:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

Ejemplo 2

Mostrar los datos de cada elemento del archivo XML:

<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>

Ejecutar ejemplo »

El código anterior generará:

Tove
Jani
Reminder
Don't forget me this weekend!

Ejemplo 3

Mostrar el nombre y los datos de cada nodo hijo:

<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>

Ejecutar ejemplo »

El código anterior generará:

note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!


Más información sobre PHP SimpleXML

Para obtener más información sobre las funciones de PHP SimpleXML, visite nuestraManual de referencia de PHP SimpleXML。

Otras extensiones