abril 25, 2011 1

Parsear XML en PHP con SimpleXML

By in PHP

SimpleXML nos permite parsear un XML de una forma sencilla y usable. Para ello nos provee de una serie de funciones y de una clase para la manipulación de XML. Aquí solo vamos a ver la función simplexml_load_file, para ver un ejemplo, pero podemos ver el resto en la documentación de SimpleXML.

Supongamos que tenemos el siguiente archivo XML:

<?xml version="1.0" encoding="UTF-8"?>
<libros>
  <libro id="0">
    <titulo>Ubik</titulo>
    <autor>Philip K. Dick</autor>
</libro>
  <libro id="1">
    <titulo>La fundación</titulo>
    <autor>Isaac Asimov</autor>
  </libro>
  <libro id="2">
    <titulo>El señor de los anillos</titulo>
    <autor>J.R.R. Tolkien</autor>
  </libro>
</libros>

Con el siguiente código cargaríamos el archivo y mostraríamos un listado de los libros con el formato “id:titulo:autor”:

<?php

$libros = simplexml_load_file('libros.xml');

foreach($libros->libro as $libro)
{
 echo $libro['id'].':'.$libro->titulo.':'.$libro->autor."\n";
}

Como podemos ver cargamos el archivo libros.xml en un objeto al que hemos llamado $libros. Este objeto modelará el XML mediante arrays que contienen los elementos del xml. Las propiedades de cada elemento están implementadas como un array asociativo.

Como hemos podido ver en esta breve introducción es muy sencillo parsear un xml con SimpleML. Recomiendo revisar la documentación de este módulo para conocer todas las posibilidades que nos ofrece.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

One Response to “Parsear XML en PHP con SimpleXML”

  1. Danielc dice:

    Muchas gracias es el  único ejemplo que conseguí que tengo lo que yo quiero y tan facil 😀

Leave a Reply