JSON zu XML konvertieren: Wurzel, Attribute und Arrays

XML benötigt ein einzelnes Wurzelelement und stellt Listen als wiederholte Elemente dar. Bilde Schlüssel mit @-Präfix auf Attribute und #text auf den Elementtext ab, um eine umkehrbare Konvertierung zu erhalten.

Ein Wurzelelement wählen

XML erlaubt genau eine Wurzel. Hat das JSON einen einzelnen Top-Level-Schlüssel, nutze ihn als Wurzelelement; sonst pack alles in ein synthetisches Wurzelelement.

Attribute und Text

Schlüssel mit @-Präfix werden Attribute, und ein #text-Schlüssel wird der Textinhalt des Elements — passend zur Standardkonvention XML-zu-JSON, damit die Konvertierung roundtripsicher bleibt.

Arrays werden zu wiederholten Elementen

Ein JSON-Array wird nicht zu einem Element — jeder Eintrag wird ein eigenes Element mit demselben Tag-Namen, denn XML repräsentiert Listen durch Wiederholung.

Escaping

Escape & und <, > im Text (sowie doppelte Anführungszeichen in Attributen) und stelle die XML-Deklaration voran, damit die Ausgabe ein vollständiges Dokument ist.

Namespaces und Präfixe

XML-Namespaces tauchen als xmlns- oder xmlns:prefix-Attribute auf und qualifizieren Element- und Attributnamen. In einer JSON-freundlichen Form behandelst du sie als gewöhnliche @xmlns / @xmlns:prefix-Attributschlüssel und behältst Präfixnamen wie soap:Envelope als Schlüssel — die meisten Konverter erhalten das Präfix wortgetreu.

Selbstschließend vs. explizit leeres Element

Ein leerer JSON-Wert kann entweder zu einem selbstschließenden Tag (<note/>) oder zu einem leeren Tagpaar (<note></note>) werden. Beides ist äquivalentes XML, aber manche nachgelagerten Parser kommen mit einer Form schlechter klar — bevorzuge selbstschließend für kompakte Ausgabe und explizite Paare, wenn der Konsument streng ist.

Hinweise zum Roundtrip

Manche XML-Eigenschaften haben kein JSON-Äquivalent: Attributreihenfolge, Kommentare, Processing Instructions und der Unterschied zwischen leerem Element und fehlendem Element. Wenn du zu JSON und zurück gehst, gehen diese Artefakte verloren — nutze niemals roundtripptes XML, wo die Signatur-Kanonikalisierung zählt.

XML formatieren, verschönern, validieren

Derselbe Konverter ist gleichzeitig XML-Formatter, XML-Beautifier und XML-Validator: füge beliebiges XML ein, klick To JSON, um die Wohlgeformtheit zu validieren, und dann To XML, um es mit konsistenter Einrückung wieder auszugeben. Das ist die einfachste Methode, XML zu formatieren, ohne ein lokales Tool zu installieren — praktisch, wenn ein Editor keinen XML-Viewer oder ein Pretty-Print-Plugin hat.