CodeKitHub
Herramientas JSON

Conversor de CSV a XML

Última actualización:

Al convertir CSV a XML, cada fila se convierte en un elemento <row> y cada columna en una etiqueta hija con el nombre de su encabezado — la conversión inversa extrae una columna por cada nombre de etiqueta hija distinto que se encuentre en el XML. Cada fila CSV se convierte en un elemento <row> con una etiqueta hija por columna; la entrada XML se analiza de vuelta a columnas usando el propio analizador XML del navegador. Todo se ejecuta localmente, así que tus datos nunca salen de tu dispositivo.

¿Qué es esta herramienta?

Algunos sistemas (software empresarial heredado, ciertas API basadas en SOAP, feeds tipo RSS) esperan datos en XML, mientras que las hojas de cálculo y la mayoría de herramientas de importación esperan CSV. Esta herramienta mueve datos entre ambos formatos: CSV → XML envuelve cada fila en un elemento <row> dentro de un elemento raíz <rows>, con cada columna convirtiéndose en una etiqueta hija con el nombre del encabezado; XML → CSV hace lo contrario, extrayendo una columna por cada nombre de etiqueta hija distinto que encuentra.

El lado CSV se analiza con un analizador de campos entrecomillados adecuado (no una simple división por comas), así que los valores con comas, saltos de línea o comillas incrustadas se manejan correctamente. El lado XML se analiza usando la API nativa DOMParser del navegador — la misma interfaz que los navegadores usan internamente para analizar documentos XML — en lugar de un lector basado en expresiones regulares hecho a mano, así que las etiquetas anidadas y el escape XML estándar se manejan como lo haría un analizador XML real.

Los nombres de columna/etiqueta que no son nombres de elemento XML válidos (con espacios, que empiezan con un dígito, etc.) se sanean automáticamente al generar XML, ya que los nombres de elemento XML tienen reglas más estrictas que los encabezados CSV.

Fuente: el análisis de CSV sigue el RFC 4180; la estructura XML sigue la especificación W3C XML 1.0.

¿Por qué utilizarlo?

  • Funciona en ambas direcciones — CSV a XML y XML a CSV, en una sola herramienta.
  • Análisis CSV correcto — maneja campos entrecomillados con comas, saltos de línea y comillas escapadas, no solo una división simple por comas.
  • Análisis XML basado en estándares — XML → CSV usa el DOMParser nativo del navegador en lugar de un analizador regex personalizado, así que el XML mal formado se reporta como error en lugar de generar basura silenciosamente.
  • Escape XML automático — caracteres especiales como & y < en tus valores CSV se escapan correctamente al generar XML.
  • 100% en el cliente — nada de lo que pegues aquí se sube a un servidor.

Cómo utilizarlo

  1. Pega datos CSV (con una fila de encabezado) o datos XML en el cuadro.
  2. Haz clic en «CSV → XML» para generar XML, o en «XML → CSV» para convertir XML de vuelta a una tabla.
  3. Revisa el resultado — cópialo o descárgalo como archivo.
  4. Para CSV → XML, cada fila se convierte en un elemento <row> con una etiqueta por columna, envuelto en una raíz <rows>.

Ejemplo

Entrada

name,age
Alice,30
Bob,25

Resultado

<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <name>Alice</name>
    <age>30</age>
  </row>
  <row>
    <name>Bob</name>
    <age>25</age>
  </row>
</rows>

Cada fila CSV se convierte en un elemento <row>, y cada columna en una etiqueta hija con el nombre del encabezado — al volver a pasar este XML por «XML → CSV» se reconstruye la tabla original de dos columnas.

Consejos prácticos

  • Alimentar un sistema heredado o una API SOAP que espera XML: convierte primero tu exportación CSV aquí, y luego pega el XML resultante directamente en el sistema destino.
  • Auditar una exportación XML que recibiste: ejecuta XML → CSV para obtener una vista de tabla rápida y legible sin necesitar un editor XML completo.
  • Si tu XML usa elementos profundamente anidados en lugar de una estructura plana <row><columna>, esta herramienta no aplanará anidamientos arbitrarios — espera un nivel de elementos de fila, cada uno con elementos de columna simples.

Por qué DOMParser en lugar de un lector XML hecho a mano

XML tiene reglas estructurales reales — elementos anidados, entrecomillado de atributos, escape de caracteres para &, <, > y demás — que un analizador rápido basado en expresiones regulares tiende a hacer mal de forma sutil en cualquier cosa que no sea la entrada más simple. Usar la API nativa DOMParser del navegador significa que esta herramienta se apoya en el mismo motor XML conforme a los estándares que el propio navegador usa para renderizar documentos XML, en lugar de reimplementar el análisis XML desde cero. También significa que un XML mal formado — una etiqueta sin cerrar, un símbolo de mayor/menor suelto — aparece como un error de análisis claro en lugar de generar silenciosamente un CSV corrupto o incompleto.

Preguntas frecuentes

¿Maneja correctamente valores CSV con comas o comillas?

Sí. El analizador CSV es un analizador de máquina de estados adecuado que rastrea si está dentro de un campo entrecomillado, así que las comas y saltos de línea dentro de comillas (p. ej. "Smith, John") y las comillas dobles usadas para escapar un carácter de comilla literal se manejan correctamente — no simplemente divide por cada coma.

¿Cómo se analiza el XML — es un analizador regex personalizado?

No. XML → CSV usa la API nativa DOMParser del navegador para analizar el XML en un árbol de documento real, de la misma forma que el navegador analiza cualquier documento XML. Esto significa que el XML mal formado se detecta y reporta como error, en lugar de generar silenciosamente una salida incorrecta como podría hacer un analizador regex hecho a mano.

¿Qué pasa con los nombres de columna que no son etiquetas XML válidas?

Todo lo que no sea una letra, dígito, guion bajo, guion o punto se reemplaza por un guion bajo, y se añade un guion bajo inicial si el nombre empezaría por un dígito o puntuación — ya que los nombres de elemento XML no pueden empezar con un número ni contener espacios como sí puede hacerlo un encabezado CSV.

¿Se suben mis datos a un servidor?

No. Ambas direcciones de conversión se ejecutan enteramente en JavaScript en tu navegador, usando el propio motor de análisis XML del navegador — no se envía nada a ningún sitio, así que es seguro usarlo con datos de negocio o de clientes exportados.

¿Convertir CSV → XML → CSV me devolverá exactamente lo que empecé?

Para un CSV bien formado con un conjunto de columnas consistente, sí — el ciclo completo conserva los valores. Si tu CSV original tenía columnas inconsistentes entre filas o caracteres inusuales en los nombres de encabezado, los nombres de etiqueta saneados pueden no preservar exactamente la ortografía del encabezado, aunque los valores de los datos sí se conservan.

Herramientas relacionadas