Inicio › Herramientas para desarrolladores › Convertidor de XML a CSV

Convertidor de XML a CSV

Pega XML o abre un archivo .xml y obtén una tabla CSV limpia: el convertidor encuentra los elementos de registro repetidos, convierte atributos y elementos anidados en columnas y te deja elegir qué columnas conservar. No se sube nada.

Última actualización:

Tu XML se analiza en tu navegador y nunca se sube. Consejo: Ctrl + Intro convierte.

Publicidad
Publicidad

Cómo usar Convertidor de XML a CSV

  1. Pega tu XML en el cuadro de la izquierda o abre un archivo .xml, .rss o .gpx. Para empezar se carga un catálogo de ejemplo.
  2. Comprueba el elemento de registro. La detección automática elige el elemento repetido más frecuente; elige otro de la lista si hace falta.
  3. Ajusta el aplanado: estilo de nombre de columna para elementos anidados, cómo se tratan los hijos repetidos y cómo se nombran los atributos.
  4. Desmarca las columnas que no necesites y elige el delimitador.
  5. Pulsa Descargar .csv o Copiar CSV. Marca Compatible con Excel si vas a abrir el archivo en Excel.

Ejemplo: cómo se aplana el XML

Toma un registro del catálogo de ejemplo:

<book id="bk101" lang="en">
  <title>XML Developer's Guide</title>
  <author><name>Matthew Gambardella</name><country>US</country></author>
  <price currency="USD">44.95</price>
  <tag>xml</tag><tag>reference</tag>
</book>

Con la configuración predeterminada se convierte en una fila CSV con estas columnas:

idlangtitleauthor.nameauthor.countrypriceprice.currencytag
bk101enXML Developer's GuideMatthew GambardellaUS44.95USDxml; reference

Los registros que no tienen un elemento simplemente reciben una celda vacía en esa columna, así que la tabla siempre se mantiene rectangular.

Reglas de aplanado de un vistazo

Estructura XMLResultado CSV
Atributo en el registro: <book id="7">Columna id (o @id)
Elemento hijo: <title>…</title>Columna title
Elemento anidado: <author><name>Columna author.name
Elemento con valor y atributo: <price currency="USD">5</price>Columnas price y price.currency
Elemento repetido: <tag>a</tag><tag>b</tag>a; b en una celda, o tag[1], tag[2]
CDATA: <![CDATA[a & b]]>Texto plano a & b
Texto y elementos mezcladosColumna adicional #text para el texto suelto

Consejos

  • Feeds RSS: elige <item> como elemento de registro para obtener una fila por publicación con title, link y pubDate.
  • Exportaciones muy anidadas: si las filas no se ven bien, elige un elemento repetido más profundo como order/line para obtener una fila por línea de pedido.
  • ¿Quieres hacerlo al revés? Usa el Convertidor de CSV a XML, o ordena primero el XML con el Formateador de XML.

Preguntas frecuentes

¿Cómo decide el convertidor qué es una fila?

Busca elementos que se repiten bajo el mismo padre, como muchos elementos <book> dentro de <catalog>. Se prefieren los elementos repetidos que tienen sus propios hijos o atributos, y entre ellos gana el más frecuente. Cada elemento coincidente se convierte en una fila CSV. Puedes elegir otro elemento en la lista Elemento de registro, o tratar todo el documento como una sola fila.

¿Cómo se convierten en columnas los elementos anidados y los atributos?

Cada elemento hoja se convierte en una columna nombrada por su ruta relativa al registro, unida con el separador que elijas, así que <author><name> se convierte en author.name. Los atributos se convierten en columnas con el nombre del atributo (o @atributo), y un atributo de un elemento anidado se convierte, por ejemplo, en price.currency.

¿Qué pasa cuando un elemento hijo se repite dentro de un registro?

Por defecto, los valores se unen en una sola celda separados por punto y coma y un espacio, por ejemplo xml; reference. Elige columnas numeradas para obtener tag[1], tag[2], etc., lo cual es mejor cuando necesitas cada valor en su propia celda.

¿Por qué los caracteres acentuados se ven mal en Excel?

Excel suele abrir los archivos CSV con una página de códigos antigua en lugar de UTF-8. Marca Compatible con Excel (UTF-8 BOM) antes de descargar: el archivo empezará con una marca de orden de bytes que le indica a Excel que lo lea como UTF-8. En algunas regiones Excel también espera el punto y coma como delimitador.

¿Qué XML es compatible?

Cualquier XML bien formado, incluidos feeds RSS y Atom, sitemaps, rutas GPX, KML y exportaciones de bases de datos o sistemas ERP. Las secciones CDATA se leen como texto, las entidades estándar se decodifican y los prefijos de espacios de nombres se conservan en los nombres de columna. Las entidades exclusivas de HTML como &nbsp; no son XML válido y se notifican como error.

¿Qué tamaño de archivo puedo convertir?

Los archivos de varios megabytes se convierten en un momento. Los archivos muy grandes (decenas de megabytes) dependen de la memoria de tu dispositivo, porque todo el documento se analiza en el navegador. La vista previa muestra las primeras 100 filas, pero el CSV las contiene todas.

¿Se sube mi XML a un servidor?

No. El XML se analiza con el DOMParser integrado en tu navegador y el CSV se genera en esta página, así que tus datos nunca salen de tu dispositivo.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →