Convertir XML a JSON

Convierte documentos XML en JSON que JavaScript y las API modernas pueden usar directamente. Los atributos y los elementos repetidos se traducen de forma predecible.

Suelta tu archivo aquí o elige uno

Imágenes, documentos, hojas de cálculo, archivos de datos y subtítulos. Tu archivo no sale de tu dispositivo.

Tu archivo se convierte en este dispositivo y nunca se sube a ningún servidor.

Por qué convertir XML a JSON

El XML sigue moviendo los feeds RSS, los sitemaps, los servicios SOAP, las facturas, los documentos de oficina y muchas integraciones empresariales. Sin embargo, el código web moderno trabaja de forma más natural con JSON. Convertir permite inspeccionar datos XML rápidamente, pasarlos a JavaScript o guardarlos en bases de datos documentales.

El conversor usa fast-xml-parser con ajustes pensados para no perder información: los atributos se guardan como claves que empiezan por @, el texto de un elemento con atributos va en #text y los elementos repetidos se convierten en arrays. La declaración XML y las instrucciones de procesamiento se descartan porque el JSON no tiene sitio para ellas.

XML frente a JSON: comparación rápida

Principales diferencias entre los formatos XML y JSON
CaracterísticaXMLJSON
Nombre completoExtensible Markup LanguageJavaScript Object Notation
TipoDatos jerárquicos con marcadoDatos jerárquicos
Año de creación1998Principios de los 2000 (RFC 4627 en 2006)
Creado porW3CDouglas Crockford; hoy ECMA-404 y RFC 8259
EstructuraElementos anidados con atributosObjetos y arrays anidados
ComentariosSí, con <!-- -->No
Tipos de datosTexto, salvo que un esquema XSD defina tiposCadena, número, booleano, null, objeto, array
Ideal paraIntercambio de datos empresariales, feeds y archivos ofimáticosAPIs, aplicaciones web y ajustes de apps
CompatibilidadTodos los lenguajes; muy usado en sistemas empresarialesTodos los lenguajes de programación
Tipo MIMEapplication/xmlapplication/json

Cómo convertir XML a JSON

  1. Paso 1: Selecciona el archivo XML

    Suelta un archivo .xml, como un feed, un sitemap o una exportación.

  2. Paso 2: Mantén JSON como destino

    JSON está preseleccionado; también están disponibles CSV y YAML.

  3. Paso 3: Convierte

    El documento se analiza y cada elemento se convierte en una propiedad.

  4. Paso 4: Descarga

    Guarda el archivo .json con sangría.

Reglas de correspondencia

Atributos

<item id="7"> se convierte en { "item": { "@id": 7 } }.

Texto con atributos

El texto del elemento se guarda en #text cuando hay atributos.

Elementos repetidos

Dos o más hermanos con el mismo nombre se convierten en un array.

Números seguros

Los números simples y true o false pasan a valores JSON; los códigos con ceros iniciales siguen siendo cadenas.

Usos típicos de XML a JSON

  • Leer feeds RSS y Atom. Trabaja con los elementos del feed como objetos JavaScript.

  • Migrar API heredadas. Inspecciona respuestas SOAP o XML mientras pasas a JSON.

  • Auditar sitemaps. Carga listas de URL en scripts u hojas de cálculo.

  • Convertir configuraciones. Lleva ajustes de archivos XML a herramientas basadas en JSON.

El problema del elemento único o repetido

El XML no indica si un elemento debe ser una lista. Si un feed tiene un solo elemento, se convierte en un objeto; con dos, en un array. Por eso el código que lea el JSON debe aceptar ambas formas, por ejemplo envolviendo los valores sueltos en un array.

Es una limitación de cualquier conversión de XML sin esquema, no de esta herramienta, y todos los conversores genéricos la tienen.

Qué no se traslada

Se eliminan los comentarios, las instrucciones de procesamiento y la declaración XML. Los prefijos de espacio de nombres se mantienen como parte de los nombres, como media:content, para que puedas distinguir los elementos. Los espacios alrededor de los valores de texto se recortan.

El contenido mixto, en el que texto y elementos se intercalan dentro del mismo padre, se simplifica: las partes de texto se agrupan en #text y no se conserva su posición exacta entre los elementos hijos.

  • Se conservan: elementos, atributos, texto y prefijos de espacio de nombres.
  • Se eliminan: comentarios, declaraciones e instrucciones de procesamiento.
  • Se simplifica: el contenido mixto de texto y elementos.

Consejos para XML a JSON

  • Comprueba que el XML esté bien formado; una etiqueta sin cerrar detiene la conversión.
  • Normaliza los elementos únicos a arrays en tu código antes de recorrerlos.
  • Los feeds grandes se convierten bien, pero el JSON con sangría puede ocupar más que el XML.
  • Para volver, usa el conversor de JSON a XML, que entiende las claves @ y #text.

Preguntas sobre la conversión de XML a JSON

¿Cómo se representan los atributos?

Como propiedades cuyo nombre empieza por @, por ejemplo @id o @href.

¿Por qué un elemento es un objeto y otro un array?

Los elementos hermanos repetidos se convierten en arrays; un elemento único se convierte en objeto. El propio XML no marca qué elementos son listas.

¿Se convierten los números?

Los números simples y los valores true o false pasan a números y booleanos JSON. Los valores con ceros iniciales, como 007, y los números muy largos siguen siendo cadenas.

¿Se conserva la declaración XML?

No. La declaración y las instrucciones de procesamiento se descartan porque el JSON no puede representarlas.

¿Admite espacios de nombres?

Los prefijos de espacio de nombres se mantienen en los nombres de las propiedades, por ejemplo atom:link.

¿Se sube algo?

No. El análisis se hace en tu navegador.

Conversiones relacionadas