Por qué la conversión JSON–XML es más difícil de lo que parece
JSON y XML no tienen una correspondencia estructural uno a uno. JSON admite arrays nativamente, mientras que XML representa la repetición a través de elementos hermanos con el mismo nombre de etiqueta. Nuestro convertidor usa la convención híbrida "BadgerFish"/"Parker".
Al convertir XML a JSON, los nodos de texto, atributos y elementos hijo se manejan de manera consistente. Los elementos de texto puro producen un simple valor de cadena en JSON.
Los elementos con tanto atributos como contenido de texto producen un objeto con claves "@atributo" y una clave "$" para el texto.
JSON a XML: convenciones de estructura
Envuelto raíz: Un objeto JSON se envuelve en un elemento raíz. Puede especificar el nombre del elemento raíz (predeterminado: "root") en las opciones.
Arrays: Un array JSON en la clave "item" produce hermanos <item> repetidos.
Atributos: Una clave JSON que comienza con "@" se convierte en un atributo XML. La clave "$" se convierte en contenido de texto.
XML a JSON: manejo de XML complejo
Espacios de nombres: Los espacios de nombres XML se preservan en JSON como parte del nombre del elemento o atributo.
Contenido mixto: Los elementos XML que contienen tanto texto como elementos hijo se representan como un array de objetos y cadenas.
CDATA e instrucciones de procesamiento: Las secciones CDATA se tratan como texto plano. Las instrucciones de procesamiento se preservan opcionalmente.