Convertidor de CSV a XML

Las APIs modernas prefieren JSON, pero muchos sistemas empresariales aún esperan XML: servicios SOAP, feeds de productos para mercados más antiguos, archivos de pago SEPA, declaraciones XBRL. Este convertidor toma un CSV, te permite nombrar el elemento raíz y el elemento por fila, y produce un documento XML bien formado donde cada encabezado se convierte en un elemento hijo dentro de cada fila. Los caracteres especiales se escapan y los nombres de etiquetas XML no válidos se sanitizan para que la salida se pueda analizar en todas partes.

Cómo se genera el XML

  1. 1

    Pega el CSV

    Incluye una fila de encabezado para que el convertidor sepa cómo nombrar cada elemento de campo.

  2. 2

    Nombra raíz e ítem

    Los valores predeterminados son `<items>` y `<item>`. Sobrescribe con cualquier cosa que comience con una letra o un guion bajo.

  3. 3

    Nombres de etiquetas sanitizados

    Los caracteres no alfanuméricos se convierten en guiones bajos; las etiquetas que no comienzan con una letra vuelven a un valor predeterminado seguro.

  4. 4

    Valores escapados

    Los ampersands, los signos de menor y mayor y las comillas dentro de los valores se reemplazan con entidades XML para que la salida sea siempre válida.

Cómo se ve la salida y dónde funciona

CSV de entrada

sku,nombre,precio
A-101,Widget,9.99
B-202,Gadget,14.50

XML de salida con valores predeterminados

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <item>
    <sku>A-101</sku>
    <name>Widget</name>
    <price>9.99</price>
  </item>
  <item>
    <sku>B-202</sku>
    <name>Gadget</name>
    <price>14.50</price>
  </item>
</items>

Reglas de nombres de etiquetas (XML 1.0)

Permitido No permitido
Letras, dígitos, guiones, guiones bajos, puntos Espacios, &, <, >, comillas, paréntesis, barras
Debe comenzar con una letra o guion bajo No puede comenzar con un dígito o puntuación
El prefijo xml está reservado Las etiquetas que comienzan con xml pueden ser rechazadas

El convertidor reemplaza silenciosamente los caracteres ilegales en los nombres de encabezado con guiones bajos. Si un encabezado comienza con un dígito, toda la etiqueta vuelve a field_N.

Tabla de escape

Los valores pasan por htmlspecialchars con ENT_XML1, por lo que estos caracteres se reemplazan:

  • &&amp;
  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;

Usos comunes posteriores

  • Feeds de productos para mercados más antiguos o sitios de comparación de precios.
  • Cuerpos de solicitudes SOAP donde necesitas generar cargas útiles de muestra a partir de datos de hojas de cálculo.
  • Esquemas simples al estilo XBRL o Dublin Core que mapean un registro plano a elementos nombrados.
  • Recursos de cadenas de Android, aunque necesitarás envolver todo en <resources> y renombrar los elementos de ítem a <string name="...">.

Preguntas frecuentes

Los caracteres no alfanuméricos se reemplazan con guiones bajos, por lo que Product Name se convierte en Product_Name. Si el nombre sanitizado no comienza con una letra o guion bajo, vuelve a field_N para mantener la validez XML.

No directamente; cada campo CSV se convierte en un elemento hijo dentro del ítem. Para XML basado en atributos necesitarás procesar la salida o usar una herramienta específica de esquema.

Sí. La salida comienza con <?xml version="1.0" encoding="UTF-8"?>. Elimínala manualmente si estás incrustando el fragmento dentro de un documento más grande.

Sí. El CSV que pegas se envía a nuestro servidor, porque el análisis, el escape y el ensamblaje de XML se ejecutan allí. Solo se usa para generar el XML y no se almacena.

Herramientas relacionadas

Herramienta disponible en otros idiomas