Convertir Excel a XML
Sube tu planilla y descarga un XML bien formado, con un elemento por fila y los títulos convertidos en nombres válidos.
Un XML que abre a la primera
El problema clásico al montar XML a mano es que un solo nombre de elemento inválido —un espacio, un acento en mal sitio, un título que empieza por número— hace que el archivo entero deje de abrirse. Aquí los nombres se sanean siempre antes de escribirlos.
La estructura es predecible: un elemento raíz que contiene un elemento por cada fila de datos, y dentro de cada fila un campo por columna. La primera fila de la hoja se usa como nombres de campo, así que es obligatoria.
Nombres de elemento saneados
Los títulos de columna se convierten en nombres XML válidos: cualquier carácter
no permitido se sustituye por _, y si el nombre resultante empieza por un
carácter que no puede iniciar un nombre XML se le antepone un _. Un título
vacío o que quede vacío tras sanear recibe un nombre de reserva columna1,
columna2, etc.
Puedes cambiar el nombre del elemento raíz (por defecto datos) y el del
elemento de fila (por defecto fila). Ambos pasan por el mismo saneado, así
que si escribes algo inválido se corrige en lugar de romper el archivo.
Elementos o atributos
La opción estilo decide cómo se guardan los valores de cada fila:
- Elementos pone cada valor en su propio elemento hijo:
<fila><nombre>Ana</nombre></fila>. Es lo más legible y lo que esperan la mayoría de las hojas de transformación. - Atributos pone los valores como atributos del elemento de fila:
<fila nombre="Ana" />. Ocupa menos y va bien cuando cada fila son datos cortos y planos.
En ambos casos los valores se escriben con el escapado propio de XML: los
caracteres reservados como <, > y &, y las comillas cuando van en un
atributo, se convierten en sus entidades. El archivo siempre queda bien formado.
Formato de los valores
Los valores se emiten en formato neutro, no según la configuración regional:
punto decimal en los números y fechas AAAA-MM-DD. El documento lleva su
declaración <?xml version="1.0" encoding="utf-8"?> y se descarga en UTF-8 con
marca BOM, de modo que los acentos y las eñes se conservan al abrirlo en
cualquier parser.
Preguntas frecuentes
¿Genera un esquema (XSD) o un DTD?
No. Se genera solo el documento de datos, bien formado. Si tu proceso necesita validar contra un esquema, tendrás que aportarlo aparte.
¿Qué pasa si dos columnas tienen el mismo título?
Ambas producen elementos —o atributos— con el mismo nombre. Con elementos eso es XML válido y quedan los dos; con atributos, un elemento no puede repetir un atributo, así que conviene renombrar la columna antes de convertir.
¿Convierte todas las hojas del libro?
Solo la primera. Para las demás, conviértelas por separado y ajusta el nombre del elemento raíz en cada pasada.
¿Se conservan los tipos de dato?
El XML es texto: todos los valores salen como cadenas, pero en formato neutro y sin ambigüedad. Si necesitas que los números sigan siendo números para el consumidor, usa Excel a JSON.
¿Y las fórmulas y los formatos?
Se exporta el valor calculado de cada celda; las fórmulas y el formato visual no se conservan. Para conservar la presentación mira Excel a HTML.