AZ Tools

Conversor XML ↔ JSON

Convertir

Un conversor XML/JSON bidireccional que preserva lo que la mayoría de conversores pierde: atributos, contenido mixto, elementos repetidos. Los atributos se vuelven claves con prefijo `@` (configurable), así `<book id="1">` se vuelve `{"@id": "1"}`. Elementos hijos repetidos se colapsan en arrays. El contenido de texto junto a atributos va a una clave `#text` (también configurable). El lado XML usa el `DOMParser` nativo del navegador — el mismo code path que tu navegador usa para respuestas `application/xml`, así que namespaces, entidades y CDATA todos funcionan. El lado JSON revierte las mismas convenciones para round-tripping.

Cómo usar

  1. Elige la dirección. Suelta XML (o JSON) — datos de muestra a un clic.
  2. Ajusta el prefijo de atributo y la clave de texto si apuntas a un esquema específico (`x2js`, `fast-xml-parser`, custom).
  3. JSON→XML te deja poner un nombre de elemento root y togglear la declaración `<?xml ... ?>`. Copia cuando estés listo.

Preguntas frecuentes

¿Por qué prefijar atributos?
Porque JSON no distingue nativamente atributos de elementos hijos. Prefijar (con `@`, `_`, o lo que quieras) hace el round-trip lossless — puedes convertir XML→JSON→XML y obtener el mismo documento. Sin la convención, atributos colisionarían con nombres de elementos hijos.
¿Maneja contenido mixto (`<p>hello <b>world</b>!</p>`)?
Parcialmente. Texto puro se vuelve string; hijos elemento con texto se vuelven `{ #text: '...' }` junto a los hijos. Texto y elementos intercalados (como `hello <b>world</b>!`) colapsan al texto unido en la clave `#text`, que round-trips pero pierde el orden original. Para documentos con contenido mixto pesado (HTML, DocBook), un parser dedicado es mejor.

Herramientas relacionadas