Funciona en tu dispositivo · Tu archivo nunca sale de tu dispositivo.
Suelta un CSV o pégalo y obtén un documento XML con un elemento <root>, un elemento <item> por fila y un elemento hijo por columna, con el nombre de la cabecera. Los separadores se detectan solos (coma, punto y coma, tabulador, barra vertical), los campos entrecomillados se tratan según la RFC 4180 y la marca de orden de bytes UTF-8 se elimina.
Los nombres de columna que XML no puede usar como nombre de elemento – con espacios, símbolos o un dígito al principio – se sanean con guiones bajos ("Precio unitario" pasa a Precio_unitario), así que la salida siempre está bien formada. Los valores se escriben como texto dentro de los elementos; no hay atributos, lo que mantiene el documento simple para cualquier analizador.
Ves las primeras 200 líneas antes de descargar, y la conversión se hace por completo en tu dispositivo.
No sirve para: Producir un XML de un esquema concreto (formato bancario, tributario o de comercio electrónico) – los nombres de elemento salen de tus cabeceras, no de un esquema.
XML guarda todos los valores como texto, así que no se gana nada interpretando números o true y false, y esta página no lo ofrece. Cada valor se escribe tal como está en el CSV: 1.50 sigue siendo 1.50, 1e3 sigue siendo 1e3, TRUE sigue siendo TRUE y la palabra NULL sigue siendo NULL. Una celda vacía da un elemento vacío, como <note/>, y los ceros a la izquierda, como en 007, se conservan.
Primero se arreglan las cabeceras repetidas y vacías: dos columnas llamadas nombre pasan a <nombre> y <nombre_2>, y una tercera cabecera vacía pasa a <column_3>. Después cada nombre se hace válido para XML. Total (USD) pasa a Total__USD_, porque los espacios y los paréntesis se convierten en guiones bajos, y 1er pasa a _1er. El guion y el punto están permitidos, así que e-mail sigue siendo e-mail y direccion.ciudad sigue siendo un solo elemento con ese nombre; no se divide en elementos anidados. Las cabeceras en cualquier escritura, árabe o china por ejemplo, se conservan tal como están.
Dos cabeceras que acaban con el mismo nombre, como "a b" y "a_b", se escriben las dos como <a_b> dentro de cada <item>. Un programa que lea los elementos por su nombre puede ver entonces solo el primero, así que cambia antes el nombre de una de ellas en el CSV.
El texto se lee con las mismas reglas que /csv-to-json, que las explica con ejemplos: cómo funcionan las comillas, cómo se encuentra el separador, cómo se reconoce la codificación del archivo y qué pasa con una fila que tiene más o menos celdas que la cabecera. En el XML, una celda que falta se convierte en un elemento vacío. Las celdas que pasan de la última cabecera no tienen nombre de elemento, así que se dejan fuera, y un mensaje dice cuántas filas las tenían y dónde está la primera.
Los nombres <root> e <item> son fijos. Si un sistema espera otros nombres, como <clientes> y <cliente>, cámbialos en un editor de texto después de descargar; no hace falta cambiar nada más de la estructura.
Más en Hojas de cálculo y datos
Esta página en otros idiomas: English · العربية · Deutsch · Français · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা