Tools / Text und Daten / XML zu JSON
Clientseitig

XML zu JSON

XML-Dokumente lokal im Browser zu JSON konvertieren, mit Mapping von Elementen und Attributen auf Objekte bereit für API-Tests oder Schema-Migrationen.

Funktionen

  • Attribute mit @-Präfix, Textinhalt unter #text
  • Wiederholte Geschwister-Elemente als Arrays
  • Parse-Fehler mit Positionsangabe
  • Keine Installation nötig, läuft vollständig im Browser
  • Kopierbarer JSON-Output

XML-Dokument einfügen, auf XML -> JSON klicken und ein eingerücktes JSON-Objekt kopieren. Anders als eine manuelle Umschreibung oder eine fragile Regex-Lösung folgt die Umwandlung einem festen, unten beschriebenen Schema, sodass Sie die Form des Ergebnisses vorhersehen können, bevor Sie Code dagegen schreiben. Das Parsen übernimmt quick-xml, ein in Rust geschriebener XML-Parser, kompiliert zu WebAssembly: SOAP-Antworten, Rechnungen und Datenexporte werden im Browser-Tab umgewandelt, ohne hochgeladen zu werden. Diese Seite und der Leitfaden zur Umwandlung von XML in JSON nutzen dieselbe Engine; der Leitfaden konzentriert sich darauf, wann sich der Wechsel zu JSON lohnt.

Wie XML auf JSON abgebildet wird

XML kennt Dinge, die JSON fehlen (Attribute, gemischten Text, wiederholte Tags), also braucht jeder Konverter eine Konvention. Dieser nutzt die verbreitete @- und #text-Konvention:

  • Wurzelelement: Die Ausgabe ist ein Objekt mit genau einem Schlüssel, dem Namen der Wurzel. <bestellung>...</bestellung> ergibt {"bestellung": {...}}.
  • Kindelemente werden zu Schlüsseln des Elternobjekts.
  • Attribute werden zu Schlüsseln mit @-Präfix: <artikel id="7"> ergibt "@id": "7".
  • Elemente nur mit Text werden zu einfachen Strings: <stadt>Köln</stadt> ergibt "stadt": "Köln".
  • Text und Attribute zusammen: Der Text steht unter #text, neben den @-Schlüsseln.
  • Wiederholte Geschwister mit gleichem Namen werden zu einem Array: Zwei <artikel> ergeben "artikel": [{...}, {...}].
  • Leere Elemente wie <notiz/> werden zu null.

Eine Folge, die Sie einplanen sollten: Ein einzelnes <artikel> wird ein Objekt, zwei oder mehr werden ein Array. Schwankt die Anzahl zwischen Dokumenten, muss Ihr Code beide Formen akzeptieren.

So wandeln Sie XML in JSON um

  1. Fügen Sie das XML links ein. Die XML-Deklaration (<?xml ...?>) und Kommentare dürfen stehen bleiben; sie werden übersprungen.
  2. Klicken Sie auf XML -> JSON.
  3. Lesen oder kopieren Sie das JSON rechts. Ist das XML fehlerhaft, zeigt die Statuszeile den Fehler samt Position, etwa ein schließendes Tag, das nicht zum öffnenden passt.

Grenzen und Sonderfälle

  • Alle Werte sind Strings. <menge>42</menge> ergibt "42", und true bleibt der String „true“. Ohne Schema trägt XML keine Typinformation, also wird nichts geraten.
  • CDATA-Abschnitte werden nicht übernommen. Inhalt in <![CDATA[...]]> wird übersprungen, ein Element nur mit CDATA erscheint als null. Wenn Ihr Feed HTML in CDATA verpackt, extrahieren Sie es separat.
  • Gemischter Inhalt verliert Leerzeichen. Bei <p>Hallo <b>Sie</b> da</p> werden die Textteile unter #text ohne die Leerzeichen um das innere Element zusammengefügt, das innere Element wird ein eigener Schlüssel. Das Tool ist für Daten-XML gedacht, nicht für Dokument-Markup wie XHTML.
  • Namensräume bleiben wie geschrieben. Präfixe bleiben erhalten ("soap:Body"), Namensraum-Deklarationen erscheinen als Attribute ("@xmlns:soap").
  • Entitäten werden dekodiert: &amp; im Text wird im JSON-String zu &.
  • Nur eine Richtung: Das Tool wandelt XML in JSON um, nicht umgekehrt.

Typische Einsätze

  • Eine SOAP-Antwort untersuchen, bevor eine Integration auf eine REST-API umgestellt wird.
  • Einen RSS- oder Atom-Feed, eine Sitemap oder eine Konfigurationsdatei als JSON-Baum lesen.
  • XML-Exporte aus ERP-Systemen, von Banken oder Behörden in Daten verwandeln, die ein JavaScript- oder Python-Skript direkt laden kann. Gerade bei XML-basierten E-Rechnungsformaten wie XRechnung hilft der Blick auf die JSON-Struktur.
  • Die exakte JSON-Form eines Dokuments sehen, um Typen oder ein Schema dafür zu schreiben.

Im Vergleich zu Bibliotheken und Kommandozeile

Im Code erledigen xmltodict in Python oder fast-xml-parser in JavaScript diese Umwandlung mit einstellbaren Optionen, und yq liest XML auf der Kommandozeile. Für automatisierte Pipelines ist das richtig. Diese Seite ist für den Schritt davor: sehen, wie ein Dokument als JSON aussieht, ohne Projekt aufzusetzen und ohne einen Produktions-Payload an einen Onlinedienst zu geben.

Datenschutz für geschäftliches XML

XML ist nach wie vor das Format von Kontoauszügen, elektronischen Rechnungen, Datenaustausch im Gesundheitswesen und vielen Behördenschnittstellen. Diese Dokumente enthalten Namen, IBANs, Adressen und Beträge, also personenbezogene Daten im Sinne der DSGVO. Hier läuft die Umwandlung per WebAssembly in Ihrem Browser, keine Anfrage transportiert das Dokument, und die Daten bleiben auf Ihrem Rechner.

Häufige Fragen

Wird mein XML an einen Server gesendet?
Nein. Das XML wird lokal in Ihrem Browser geparst und umgewandelt. Nichts wird übertragen oder gespeichert.
Warum haben Attribute ein @ davor?
Damit sie sich von gleichnamigen Kindelementen unterscheiden. Ohne Präfix hätte <user id="1"><id>2</id></user> zwei kollidierende id-Schlüssel.
Warum wird ein Element zum Objekt und ein anderes zum Array?
Wiederholte Geschwister werden zu einem Array zusammengefasst, ein einzelnes Vorkommen bleibt Objekt oder String. Behandeln Sie im Code beide Formen, wenn die Anzahl schwanken kann.
Warum sind meine Zahlen Strings?
XML-Text hat keine Typen, deshalb bleibt jeder Wert ein String. Wandeln Sie Zahlenfelder in Ihrem Code um.
Was passiert mit CDATA und Kommentaren?
Beides wird übersprungen. Kommentare sind keine Daten, und CDATA-Inhalt wird derzeit nicht ins JSON übernommen.
Kann ich JSON zurück in XML wandeln?
Nein, das Tool arbeitet in eine Richtung. Für Konfigurationsformate deckt der YAML-, JSON- und TOML-Konverter weitere Umwandlungen ab.

Verwandte Tools: Formatieren oder minifizieren Sie das Ergebnis mit dem JSON-Formatierer, oder machen Sie aus einem Array von Datensätzen eine Tabelle mit dem JSON-zu-CSV-Konverter.