Datos

Conversor de XML

Convierte XML en JSON, YAML, TOML, literales de objeto JavaScript o arrays PHP. El parser XML del navegador lee el documento y lo mapea por estructura: elementos a claves, hermanos repetidos a arrays, atributos a campos con prefijo, manteniendo la forma original tanto como sea posible. Sirve para fuentes XML habituales como respuestas SOAP, feeds RSS y Atom, sitemaps, SVG, configuraciones Android y Maven, y mensajes de API heredadas, con opciones para atributos, texto, números, prefijos de namespace y listas de un solo ítem. El panel de revisión resume raíz, conteo de elementos y atributos, prefijos de namespace, contenido mixto, CDATA y los comentarios e instrucciones de procesamiento que ningún formato de destino puede guardar. Los errores incluyen línea, columna y la línea de origen donde fallan. Parsing, conversión y copia ocurren en la pestaña actual; nada se sube, se proxya ni se registra en servidor.

  • Una entrada XML produce cinco destinos: JSON, YAML, TOML, literal de objeto JavaScript y array PHP, cada uno con opciones propias
  • Los atributos se mapean como claves con prefijo configurable, por defecto @, o se descartan enteros, y los prefijos de namespace se quitan con un clic: soap:Body pasa a ser Body
  • Los elementos hijos repetidos se agrupan como arrays, o cada elemento hijo recibe uno, de modo que una lista de un solo ítem no cambia de forma más abajo
  • Los textos se convierten a números y booleanos reales, y el panel informa conteos, profundidad, contenido mixto, CDATA, choques de claves y todo lo descartado
  • Procesamiento completamente local, sin subida ni telemetría, apto para mensajes de producción, capturas SOAP y muestras de configuración
0 caracteres
Esperando entrada
El resultado convertido aparecerá aquí
Acciones

Resumen

Una herramienta centrada en trabajos que parten de XML. El mapeo de elementos a claves, la conversión de hermanos repetidos en arrays, el tratamiento de atributos y la conversión de tipos se resuelven durante el análisis, de modo que la salida puede ir a API, cargadores de configuración, validadores JSON Schema o generadores de código sin una segunda limpieza manual.

  1. 01

    Cinco formatos de destino listos

    XML a JSON, YAML, TOML, literal de objeto JavaScript y array PHP. JSON y YAML ofrecen tamaño de indentación, y el orden alfabético de claves se aplica a todos los destinos; TOML anida las tablas bajo el elemento raíz y entrecomilla solo las claves que lo necesitan, como @name, para que la salida se pueda analizar; el objeto JS conserva claves entre comillas y escapes correctos; el array PHP produce un archivo completo <?php return [...];.

  2. 02

    Mapeo predecible de elementos a objetos

    Cada elemento se convierte en una clave con su nombre de etiqueta, el texto se vuelve valor y los hermanos repetidos con el mismo nombre se agrupan como arrays en orden documental. Activa «Siempre arrays» cuando el código de destino no deba lidiar con las dos formas; el nombre del elemento raíz se conserva como clave superior para reflejar el árbol original.

  3. 03

    Atributos bajo tu control

    Los atributos se mapean como claves con un prefijo configurable, por defecto @, para evitar choques con nombres de hijos; y si vacías el prefijo y el choque llega a producirse, el panel nombra esa clave en vez de dejar que los dos valores se mezclen en silencio. Puedes desactivarlos si solo te importa el contenido de elementos; si un elemento tiene atributos y texto, el texto pasa al campo #text.

  4. 04

    Conversión opcional de tipos

    Los textos numéricos y booleanos pueden convertirse en números y booleanos reales o mantenerse como cadenas. Solo se convierten cuando pueden volver exactamente, así que códigos con ceros iniciales, strings parecidos a versiones, teléfonos e enteros fuera del rango seguro se conservan como texto.

  5. 05

    Panel de revisión para XML desconocido

    El panel resume elemento raíz, conteo de elementos y atributos, profundidad de anidación, prefijos de namespace, contenido mixto, uso de CDATA y cuántos comentarios e instrucciones de procesamiento se descartaron, para entender un documento desconocido antes de confiar en la conversión.

  6. 06

    Se ejecuta completamente en el navegador

    Parsing, conversión, revisión y copia ocurren en esta página con el parser XML del navegador. Tu XML no sale mediante solicitudes a servidores, CDN ni plataformas de analítica de terceros; es adecuado para mensajes de producción y muestras de configuración.

Cómo usarla

El flujo se reduce a cuatro pasos: pegar XML, elegir formato, revisar el panel y copiar el resultado.

  1. 01

    Pega XML en el panel de entrada izquierdo. El análisis empieza al instante y el panel muestra raíz, conteos, prefijos de namespace y avisos de contenido mixto.

  2. 02

    Elige el destino en la parte inferior: JSON, YAML, TOML, objeto JavaScript o array PHP. JSON y YAML añaden indentación, el orden de claves vale para todos los destinos y la salida se actualiza al cambiar.

  3. 03

    Ajusta opciones de análisis: conservar o descartar atributos, cambiar el prefijo de atributos, quitar los prefijos de namespace, forzar un array para cada elemento hijo y decidir si números y booleanos se convierten o se mantienen como texto.

  4. 04

    Revisa el panel. Contenido mixto, CDATA, comentarios descartados y choques de claves se señalan pero no bloquean la conversión; marcan los puntos donde el documento guarda algo que el destino no puede, para confirmar que la forma es la esperada.

  5. 05

    Haz clic en copiar y pega la salida en tu IDE, gestor de snippets, cliente API o cargador de configuración para seguir trabajando.

Detalles

Los problemas repetidos del trabajo diario con XML quedan resueltos por defecto, sin encadenar herramientas externas solo para obtener una conversión limpia.

  • El análisis usa el motor XML integrado del navegador, por lo que las reglas de buena formación coinciden con otros parsers basados en estándares.
  • Los hermanos repetidos con el mismo nombre se agrupan como arrays en orden documental, y con «Siempre arrays» incluso una lista de un ítem lo es, lo que hace predecible el mapeo a JSON, YAML y TOML.
  • El prefijo de atributos separa atributos y elementos hijos, un interruptor descarta los atributos cuando solo necesitas contenido de elementos y otro quita los prefijos de namespace de todas las claves.
  • Todos los destinos conservan el orden de los elementos y ofrecen un orden alfabético opcional para diffs git estables, revisión de código y validación JSON Schema.
  • Al convertir a TOML, las claves que TOML no puede escribir sin comillas —@name, xml:lang, #text— se entrecomillan solas, así que la salida se analiza en vez de fallar en el primer atributo.
  • Las salidas JavaScript y PHP conservan anidación, escapes y literales, de modo que el resultado puede ir directo a datos de prueba, configuración o ejemplos.
  • El panel de revisión lista raíz, conteos, profundidad, prefijos de namespace y lo que se ha descartado para volver legible un XML desconocido en segundos.
  • Todo se ejecuta en el navegador, sin backend SaaS, por lo que funciona en un avión, una red solo VPN o detrás de un proxy empresarial.

Casos de uso

Cuando la fuente es XML, estas tareas cotidianas ahorran una capa de copiado manual o capturas explicativas.

  1. Convertir respuestas SOAP en JSON

    Pega una respuesta SOAP o XML de una API heredada y léela como JSON para mapear campos a un cliente moderno, datos de prueba o tipos TypeScript sin perseguir corchetes angulares a mano.

  2. Leer feeds RSS y Atom como datos

    Convierte un feed a JSON o YAML para revisar títulos, enlaces y fechas de entradas, y pasa el resultado estructurado a scripts, generadores de sitios estáticos o pipelines de contenido.

  3. Migrar configuración XML a YAML o TOML

    ¿Quieres dejar web.xml, un contexto XML de Spring o pom.xml de Maven? Mira primero la salida YAML o TOML y ajusta manualmente, sin reescribir todo el árbol.

  4. Inspeccionar estructura SVG

    Convierte SVG a JSON para recorrer grupos, paths y atributos con código, o extraer valores concretos sin cargar una biblioteca XML DOM completa.

  5. Construir datos de prueba desde mensajes de ejemplo

    Backends y socios suelen compartir ejemplos XML. Conviértelos en JSON u objetos JS para que pruebas frontend con Jest, Vitest y Storybook reutilicen la misma forma de datos.

  6. Generar configuración PHP desde XML

    Convierte un archivo XML heredado en un array <?php return [...]; listo para Laravel o WordPress, conservando anidación y escapes.

  7. Comparar dos documentos XML

    Convierte ambos archivos a JSON y haz un diff estructurado para ver exactamente qué elementos, atributos y valores cambiaron entre dos versiones de un mensaje o configuración.

  8. Explicar y documentar estructura XML

    Convierte XML anidado a JSON o YAML para que documentos de ejemplo se lean mejor en artículos, clases y materiales de onboarding, sin una indentación profunda de etiquetas.

Ver también

Si la fuente que tienes es YAML, como un manifiesto Kubernetes, un archivo Helm values o un workflow CI, y necesitas llevarla a JSON, TOML, XML, literales de objeto JavaScript o arrays PHP, usa Conversor de YAML. Si el XML necesita limpieza primero, como embellecer un mensaje minificado, plegar nodos profundos o confirmar que está bien formado antes de confiar en la conversión, pásalo por Formateador de XML, que indenta, minifica y valida XML con errores de línea y columna. Si ya tienes JSON y quieres pasarlo a YAML, XML, CSV, TOML, objetos JavaScript o arrays PHP, usa Conversor de JSON para convertir en esa dirección con opciones por formato, manteniendo una sola fuente de datos en lugar de editar cada destino a mano.

Buenas prácticas

XML reparte información en tres lugares: elementos, atributos y texto. Una conversión limpia depende de decidir cómo mapear cada parte. Estos hábitos hacen el resultado predecible entre proyectos.

  • Decide primero si los atributos importan. Si transportan datos, consérvalos con un prefijo claro; si solo necesitas contenido de elementos, descártalos.
  • Desactiva conversión de tipos cuando el XML contiene identificadores, versiones, códigos con ceros iniciales o teléfonos que deben seguir siendo texto.
  • Vigila el contenido mixto, es decir, texto junto a elementos hijos. Se agrupa en #text y rara vez es lo deseado; si el texto importa, ajusta la estructura de origen.
  • Recuerda que un elemento que aparece una sola vez no se envuelve en un array, y solo se vuelve array al aparecer dos o más veces, así que el mismo campo puede llegar como un valor y como una lista. Si una lista puede tener un solo ítem, activa «Siempre arrays» en lugar de hacer que el código de destino acepte ambas formas.
  • Tras convertir XML a JSON, compara con la versión anterior usando diff JSON para detectar campos que cambiaron antes de llegar a producción.
  • Los comentarios XML e instrucciones de procesamiento se descartan durante la conversión, y el panel los cuenta. Eleva lo esencial a elementos reales o documentación externa.
  • Mientras no actives el recorte, los namespaces permanecen como prefijos literales en las claves, por ejemplo soap:Body. Confirma cuál de las dos formas espera el código de destino antes de copiar, porque no son intercambiables.
  • Para documentos muy grandes, prueba primero las opciones con un fragmento representativo y convierte el archivo completo cuando la forma sea correcta.

Limitaciones

Saber qué no hace esta herramienta evita usarla como IDE XML completo, validador de schema o motor de transformación.

  • No valida schemas: DTD, XML Schema (XSD) y RELAX NG quedan fuera; un documento bien formado no es necesariamente válido.
  • No ejecuta XSLT ni XPath: solo mapea estructura a otros formatos, sin transformar con hojas de estilo ni evaluar expresiones de ruta.
  • Comentarios XML, instrucciones de procesamiento y declaración no se preservan en la salida; solo se mapean elementos, atributos y texto, y el panel informa de cuántas construcciones se descartaron.
  • El contenido mixto, texto intercalado con elementos hijos, no siempre se mapea limpiamente; el texto va a #text y el orden entre texto y elementos no se conserva.
  • No se descarga nada: las entidades externas, las inclusiones de DTD y las URL de namespace nunca se resuelven. Las entidades declaradas dentro del documento sí las expande el parser del navegador, que limita la amplificación y devuelve un error en lugar de dejar que un documento «billion laughs» se descontrole.
  • La ida y vuelta no está garantizada: convertir XML a JSON y volver no siempre reproduce el documento byte por byte porque varias construcciones XML no tienen equivalente JSON directo.
  • Archivos muy grandes, de varios MB, pueden ralentizar el navegador, pero el procesamiento sigue siendo local: nada se recorta ni se sube.

Preguntas frecuentes

Preguntas frecuentes sobre atributos, arrays, tipos de valores, namespaces y si los datos salen del navegador.

¿Cómo se representan los atributos?

Por defecto cada atributo se convierte en una clave con prefijo @, configurable, para no chocar con nombres de elementos hijos. Puedes cambiar el prefijo o desactivar atributos por completo si solo necesitas contenido de elementos. Si un elemento tiene atributos y texto, el texto se guarda en #text.

¿Por qué los elementos repetidos se vuelven array?

Cuando varios elementos con el mismo nombre aparecen bajo el mismo padre, sus valores se agrupan como array en orden documental. Es la única forma sin pérdida de representar hermanos en JSON, YAML o TOML. Una aparición única no se envuelve, así que una lista de un solo ítem llegaría con una forma u otra. Activa «Siempre arrays» y cada elemento hijo recibe un array, escriba lo que escriba el documento.

¿Por qué mi número sigue siendo string?

La conversión de tipos solo cambia textos que pueden volver exactamente, así que "007", "1.0", teléfonos y enteros fuera del rango seguro de JavaScript se conservan como strings para no perder datos. Desactivar “Analizar números y booleanos” mantiene todos los valores como texto, lo más seguro para identificadores y códigos.

¿Qué pasa con los namespaces?

Por defecto se conservan literalmente en las claves, por lo que soap:Body se vuelve la clave "soap:Body". Con «Quitar prefijos de namespace» ese mismo elemento pasa a ser "Body" y las declaraciones xmlns desaparecen también, porque ya no atan nada. En ninguno de los dos casos se resuelven las URL de namespace, y el panel lista siempre los prefijos encontrados.

¿Cómo queda la salida TOML?

El elemento raíz se convierte en la tabla de nivel superior, los elementos anidados en tablas anidadas y los hermanos repetidos en arrays. Las claves que TOML no puede escribir sin comillas —claves de atributo como @name, un xml:lang con namespace, el campo #text— se entrecomillan automáticamente, así que el resultado se analiza tal cual. TOML no tiene null ni tipo fecha, pero ninguno de los dos puede salir de un documento XML aquí: un elemento vacío se convierte en una cadena vacía.

¿Se conservan comentarios y CDATA?

Comentarios, instrucciones de procesamiento y declaración XML se descartan; solo se mapean elementos, atributos y texto. Las secciones CDATA se leen como texto normal, y el panel avisa cuando hay CDATA para evitar sorpresas.

¿Puedo convertir el resultado de vuelta a XML?

Esta herramienta parte de XML. Para ir en sentido contrario, los conversores JSON y YAML pueden emitir XML. La ida y vuelta no garantiza igualdad byte por byte porque varias construcciones XML no tienen equivalente JSON directo.

¿Los datos pegados se suben?

No. Parsing, conversión, revisión y copia ocurren en el navegador con su parser XML integrado. Ninguna solicitud lleva tu XML a servidores, CDN o plataformas de analítica, así que es adecuado para mensajes de producción y muestras confidenciales.

Herramientas relacionadas

Continúa tu trabajo de datos: convierte en sentido inverso, embellece o valida XML, o remodela JSON para el siguiente paso. Las herramientas siguientes se encadenan en un flujo completo.