Convertire JSON in XML: radice, attributi e array

XML richiede un’unica radice e rappresenta le liste come elementi ripetuti. Mappa le chiavi con prefisso @ negli attributi e #text nel testo dell’elemento per una conversione reversibile.

Scegliere un elemento radice

XML ammette esattamente una radice. Se il JSON ha una sola chiave di livello superiore, usala come radice; altrimenti avvolgi tutto in un elemento radice sintetico.

Attributi e testo

Le chiavi con prefisso @ diventano attributi e una chiave #text diventa il contenuto testuale dell’elemento, rispettando la convenzione standard XML-JSON per mantenere reversibile la conversione.

Gli array diventano elementi ripetuti

Un array JSON non diventa un singolo elemento — ogni item diventa un elemento separato con lo stesso nome di tag, perché XML rappresenta le liste con la ripetizione.

Escaping

Esegui l’escape di & e <, > nel testo (e delle virgolette doppie negli attributi) e anteponi la dichiarazione XML così che l’output sia un documento completo.

Namespace e prefissi

I namespace XML compaiono come attributi xmlns o xmlns:prefisso e qualificano nomi di elementi e attributi. In una forma comoda per JSON trattali come normali chiavi di attributo @xmlns / @xmlns:prefisso e mantieni i nomi con prefisso come soap:Envelope come chiave — la maggior parte dei convertitori preserva il prefisso letteralmente.

Autochiudenti vs vuoti espliciti

Un valore JSON vuoto può diventare un tag autochiudente (<note/>) o una coppia vuota (<note></note>). I due sono XML equivalenti, ma certi parser a valle gestiscono male una delle forme — preferisci l’autochiudente per output compatto e la coppia esplicita quando il consumatore è severo.

Considerazioni sul round-trip

Alcune proprietà XML non hanno equivalente in JSON: ordine degli attributi, commenti, processing instruction e la differenza fra elemento vuoto e mancante. Se converti in JSON, modifichi e riconverti, aspettati di perdere questi artefatti — non usare mai XML reso round-trip dove conta la canonicalizzazione delle firme.

Formattare, abbellire, validare XML

Lo stesso convertitore fa anche da formatter, beautifier e validator XML: incolla qualunque XML, clicca To JSON per validare la well-formedness e poi To XML per riemetterlo con indentazione coerente. È il modo più semplice di formattare XML senza installare uno strumento locale — utile quando un editor non ha un visualizzatore XML o un plugin di pretty-print.