XML ↔ JSON Transformer
Convierte XML a JSON y viceversa, en vivo, en ambas direcciones. Atributos, anidamiento y etiquetas repetidas manejados correctamente.
XML
JSON
Cómo funciona la conversión XML ↔ JSON
Los elementos, atributos y texto de XML no se corresponden con JSON de una única forma obvia, así que esta herramienta sigue una convención explícita y consistente en ambas direcciones:
- Un atributo XML se convierte en una clave JSON con el prefijo
@. - El texto que coexiste con atributos o elementos hijos se convierte en una clave
#text; un elemento con solo texto (sin atributos ni hijos) se colapsa en un string JSON plano. - Un solo elemento hijo se mantiene como un objeto plano; en cuanto aparece un segundo hermano con la misma etiqueta, ambos se agrupan en un array JSON — así las etiquetas repetidas nunca se sobrescriben en silencio.
// XML
<library>
<book id="1"><title>Dune</title></book>
<book id="2"><title>Foundation</title></book>
</library>
// JSON
{
"library": {
"book": [
{ "@id": "1", "title": "Dune" },
{ "@id": "2", "title": "Foundation" }
]
}
}
La conversión usa el DOMParser nativo del navegador y construcción de strings equivalente a XMLSerializer — sin librerías externas, sin llamadas a servidor.
Preguntas frecuentes
¿Cómo se representan los atributos XML en el JSON resultante?
Cada atributo se convierte en una clave JSON con el prefijo @, por ejemplo el atributo id de <book id="1"> se convierte en "@id": "1". El texto que coexiste con atributos o elementos hijos se convierte en una clave #text.
¿Qué pasa con los elementos hermanos repetidos, como varias etiquetas <book>?
Se convierten en un array JSON. Un solo <book> se mantiene como un objeto plano, pero en cuanto aparece un segundo hermano con la misma etiqueta, ambos se agrupan en un array para que ningún dato se sobrescriba en silencio.
¿Soporta secciones CDATA?
Sí, al importar — el contenido CDATA se lee como texto plano. Al convertir de nuevo a XML siempre se genera texto escapado en lugar de volver a envolverlo en un bloque CDATA, ya que un string JSON no puede registrar que originalmente era CDATA.
¿Es seguro pegar XML o JSON sensible aquí?
Sí. Todo el análisis y la conversión ocurren en tu navegador usando las APIs nativas DOMParser y JSON; nada se envía nunca a un servidor.