Cómo convertir XML a CSV usando XSL

Escrito por wilfred bonney | Traducido por eva ortiz
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo convertir XML a CSV usando XSL
XML es un estándar recomendado por el W3C. (Jason Reed/Photodisc/Getty Images)

El uso creciente de las tecnologías XML en aplicaciones diferentes ha dado lugar a la necesidad de exportar los archivos XML en formatos múltiples para que los sistemas heredados puedan volver a utilizarlos. Para muchos programadores y ingenieros informáticos profesionales, esta conversión toma a menudo mucho tiempo y requiere un cuidadoso estudio de las estructuras de datos incrustados en el documento XML. Un documento XSL (Extensible Stylesheet Language, cuya expresión inglesa podría ser traducible como "lenguaje extensible de hojas de estilo") ayuda a los programadores en la transformación de los archivos XML en HTML.

Otras personas están leyendo

Instrucciones

  1. 1

    Exhibir un XML requiere el uso de transformaciones eXtensible Stylesheet Language (XSL), que es el lenguaje de hojas de estilo XML recomendado por World Wide Web Consortium (W3C) y es más sofisticado que Cascading Style Sheet (CSS). XSLT se utiliza a menudo para transformar XML en HTML antes de mostrarse en un navegador. Un ejemplo de un archivo o documento XML (es decir, sample.xml) es el siguiente:

    <?xml version="1.0" encoding="UTF-8"?> <students> <student id="10001"> <name given="Mark" family="Smith"/> <gender>Male</gender> <address street="1123 Buffalo Street" city="Indianapolis" state="IN"/> <emailAddress>marksmith@abc.com</emailAddress> <phoneNumber>555-555-5553</phoneNumber> </student> ..... ..... </students>

    En este archivo sample.xml file, puedes transformar el XML usando el siguiente código XSL (i.e., sample.xsl):

    <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="/"> <html> <table> <xsl:for-each select="//student"> <tr> <td> <xsl:value-of select="@id"/> <xsl:value-of select="','"/> <xsl:value-of select="name/@given"/> <xsl:value-of select="','"/> <xsl:value-of select="name/@family"/> <xsl:value-of select="','"/> <xsl:value-of select="gender"/> <xsl:value-of select="','"/> <xsl:value-of select="address/@street"/> <xsl:value-of select="','"/> <xsl:value-of select="address/@city"/> <xsl:value-of select="','"/> <xsl:value-of select="address/@state"/> <xsl:value-of select="','"/> <xsl:value-of select="emailAddress"/> <xsl:value-of select="','"/> <xsl:value-of select="phoneNumber"/> </td> </tr> </xsl:for-each> </table> </html> </xsl:template> </xsl:stylesheet>

  2. 2

    Para convertir el archivo sample.xml a formato CSV, deberás hacer referencia a la hoja de estilo XSL anterior en el documento XML utilizando la información de la cabecera: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="sample.xsl"?> <students> <student id="10001"> <name given="Mark" family="Smith"/> <gender>Male</gender> <address street="1123 Buffalo Street" city="Indianapolis" state="IN"/> <emailAddress>marksmith@abc.com</emailAddress> <phoneNumber>555-555-5553</phoneNumber> </student> <student id="10002"> <name given="Jane" family="Doe"/> <gender>Female</gender> <address street="1271 Buffalo Street" city="Indianapolis" state="IN"/> <emailAddress>janedoe@abc.com</emailAddress> <phoneNumber>555-555-5554</phoneNumber> </student> <student id="10003"> <name given="John" family="Smith"/> <gender>Male</gender> <address street="1281 Buffalo Street" city="Indianapolis" state="IN"/> <emailAddress>johnsmith@abc.com</emailAddress> <phoneNumber>555-555-5555</phoneNumber> </student> </students>

  3. 3

    Al abrir el código fuente de arriba en un navegador, se generará una salida CSV en el navegador, similar a la que se muestra a continuación: 10001,Mark,Smith,Male,1123 Buffalo Street,Indianapolis,IN,marksmith@abc.com,555-555-5553 10002,Jane,Doe,Female,1271 Buffalo Street,Indianapolis,IN,janedoe@abc.com,555-555-5554 10003,John,Smith,Male,1281 Buffalo Street,Indianapolis,IN,johnsmith@abc.com,555-555-5555

Consejos y advertencias

  • Existen otros métodos para convertir datos XML a CSV. La elección dependerá del tipo de proyecto en que se trabajará. Por ejemplo, si trabajas con un conjunto de datos XML almacenados en la base de datos MySQL, entonces puedes exportar los datos de MySQL a una hoja de cálculo de Excel y luego convertir la hoja de cálculo resultante a CSV.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles