Compara el ejemplo mixto
El ejemplo inicial funciona como objetos compactos. El mixto se detiene en ese modo; cambia a contenido ordenado para ver las posiciones de los nodos en content y comprobar el contrato del receptor.
Herramientas JSON
Prueba elementos repetidos o carga el ejemplo mixto para comparar los dos modelos de salida.
Se procesa en este navegador. La entrada no se sube ni se guarda.
Se conservan atributos y nombres cualificados. Los valores siguen siendo cadenas.
Resultado desactualizado; exportación deshabilitada.
XML a JSON ayuda a llevar una respuesta XML a un script o una API que recibe objetos. Sin un esquema, una etiqueta no permite saber si 001 es una cantidad o un código, ni si un único hijo debe ser una lista.
Este conversor permite convertir XML a JSON con una decisión explícita: objetos compactos para registros y contenido ordenado para documentos. El formato elegido debe ser compatible con la aplicación que lo recibirá.
XML a JSON agrupa los hijos adyacentes del mismo nombre en arrays. Activa la opción de arrays permanentes si el receptor necesita una lista incluso con un solo hijo. La raíz mantiene su propiedad exterior.
El modelo compacto rechaza texto mezclado con elementos y secuencias a,b,a. El modo ordenado coloca textos y elementos en una misma lista content, sin reordenarlos al agrupar nombres repetidos.
El ejemplo inicial funciona como objetos compactos. El mixto se detiene en ese modo; cambia a contenido ordenado para ver las posiciones de los nodos en content y comprobar el contrato del receptor.
Nunca se recorta el texto de las hojas. Por defecto se omite solo el espacio de formato entre elementos; xml:space="preserve" se hereda y tiene prioridad. Conservar todos los espacios puede requerir el modo ordenado.
La conversión automática espera 350 ms. Desactívala para usar Convertir o Ctrl/Cmd+Enter. Cada cambio de entrada u opciones deshabilita inmediatamente la exportación del resultado anterior hasta obtener uno actualizado.
El modelo compacto usa @id para atributos y #text para el texto de hojas con atributos. Conserva los prefijos y declaraciones xmlns. Los elementos ordenados incluyen además el namespaceURI resuelto.
El modo ordenado representa elementos, texto, CDATA, comentarios e instrucciones de procesamiento dentro de content. La declaración XML queda aparte. El compacto combina valores CDATA y texto, pero rechaza comentarios e instrucciones.
001, 12.00, true y enteros grandes siguen siendo cadenas. Los elementos vacíos se convierten en cadenas vacías en modo compacto. Sin esquema no se deducen números, booleanos ni null, evitando alterar códigos y ceros iniciales.
Los atributos se conservan siempre. En objetos compactos llevan @ delante del nombre; un elemento hijo del mismo nombre conserva su clave normal. En contenido ordenado, attributes contiene los nombres cualificados y sus valores.
XML a JSON agrupa hijos adyacentes con el mismo nombre en un array. La opción de arrays permanentes incluye también los hijos únicos. Una secuencia a,b,a exige contenido ordenado, porque agruparla cambiaría el orden.
#text representa el texto de una hoja que también tiene atributos en el modelo compacto. Una hoja sin atributos se convierte directamente en cadena. Si hay texto y elementos hijos juntos, debe usarse el modelo ordenado.
Este conversor XML a JSON online es gratuito y no requiere cuenta. Puedes probar los ejemplos, ajustar el modelo y descargar el resultado. Los límites de tamaño y estructura se aplican igualmente a cada documento.
XML distingue atributos, texto, comentarios y orden de nodos; un objeto JSON simple no expresa todo eso. Aquí se bloquean las estructuras incompatibles con el modo compacto. El modo ordenado conserva el modelo de nodos, pero no la escritura original.
¿Algo no está claro?
Usa XML a JSON para revisar atributos y arrays antes de elegir la estructura que entiende el programa receptor.