Exportar datos a XML desde PHP


En posts anteriores ya se habíamos tratado el tema de la exportación de datos desde una base de datos MySQL, haciendo uso de PHP, en esa ocasión el destino era una hoja de calculo de Excel, ahora bien la principal desventaja de hacer la exportación a Excel, es en el manejo de las fechas.

Para Excel las fechas son en realidad una cantidad entera que representa una cierta cantidad en días, partiendo de una fecha base, así por ejemplo; la fecha 3 de febrero del 2012 (03/02/12) es en realidad 40,942, que es el numero de días que existen desde la fecha base hasta la fecha que nosotros usamos, ahora bien, en el archivo de excel lo que realmente esta guardado es 40,942, así que al tratar de leer el archivo de excel desde PHP tendríamos que hacer nosotros el calculo; para evitar eso, exportaremos los datos a XML, comencemos con una base de datos llamada almacén con una tabla denominada empleados con los siguientes campos y datos:

El proceso de exportar los datos a Excel lo podemos simplicar mediante el uso de un header que indique que el archivo que vamos a escribir es un XML, asi solo tendremos que leer los datos de la tabla y mandarlos a escribir en una estructura XML usando la isntrucción echo, tal y como vemos a continuación.

Como podemos observar el código es muy simple,

  • Accedemos al servidor y la base de datos con mysql_conncet y mysql_select_db
  • Creamos la consulta en la variable $lista, esta puede ser tan complicada como lo necesite.
  • Ejecutamos la consulta con mysql_query.
  • Usamos header para indicar que el contenido del documento sera text/xml
  • Empleamos un ciclo while para ir leyendo los datos con mysql_fetch_row
  • Escribimos los datos en las etiquetas XML que nosotros creamos conveniente.
  • Cerramos la conexión a la base de datos con mysql_close

El resultado del código es el siguiente:

Ahora solo bastara con usar la opción guardar como para tener nuestro archivo XML, de igual forma es posible escribirlo en un XML vacio para dar el enlace para descarga, pero de esta forma podemos ver los datos exportados para corroborar que el proceso se realizo correctamente.

En un próximo post, veremos el proceso de importar desde un XML hacia la base de datos usando PHP, ya para terminar les dejamos el enlace al archivo  SQL de la base de datos.

https://dl.dropbox.com/u/26498694/almacen.sql

 

Anuncios

Acerca de sistemasumma

Blog dedicado a la tecnología y a todos los estudiantes de sistemas, informatica, computación y afines
Esta entrada fue publicada en programacion y etiquetada , , , , . Guarda el enlace permanente.

8 respuestas a Exportar datos a XML desde PHP

  1. Paola dijo:

    Gracias!!!

    Me gusta

  2. Anónimo dijo:

    $archivo = ‘elnombredetuarchivo’;

    // Guardando el xml

    $xmlobj=new SimpleXMLElement($xml);
    $xmlobj->asXML(“xml/” . $archivo . “.xml”);

    // Descargando el archivo

    $ruta=”xml/”.$archivo.”.xml”;
    header (“Content-Disposition: attachment; filename=”.$ruta);
    header (“Content-Type: application/octet-stream”);
    header (“Content-Length: “.filesize($ruta));
    readfile($ruta);

    Me gusta

  3. sircpo1 dijo:

    Que tal Buenas tardes me gustaría saber si al momento de generar el XML se pueda descargar de forma automatica Agredeceria demasiado tu ayuda Saludos

    Me gusta

  4. fran dijo:

    Buenas, por favor me podrias decir como importar desde el xml a php?

    Me gusta

  5. sol dijo:

    me podrias decir como guardar eso que se acaba de crear el xml ????

    Me gusta

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s