Zum Inhalt springen
TextArray
100% lokal

XML-zu-JSON-Konverter

Wandle XML in äquivalentes JSON um — Attribute mit Präfix, wiederholte Tags als Arrays.

Eingabe
Ausgabe

XML-zu-JSON-Konverter

XML und JSON beschreiben beide strukturierte Daten, aber die Werkzeuge um dich herum sprechen selten beide. Eine alte SOAP-API, ein RSS-Feed, ein Android-Layout, eine Konfigdatei oder ein Datenexport liefert dir XML; dein Skript, deine Datenbank oder dein Frontend will JSON. Dieses Tool wandelt zwischen ihnen mit einem echten Parser um — kein Regex-Hack — der die kniffligen Teile von XML korrekt behandelt: verschachtelte Elemente, Attribute, gemischten Inhalt, selbstschließende Tags, Kommentare, CDATA-Abschnitte, die XML-Deklaration und DOCTYPE.

Die Abbildung folgt der weit verbreiteten Konvention. Die Attribute eines Elements werden Schlüssel mit @-Präfix (konfigurierbar), <user id="7"> ergibt also "@id": "7". Kindelemente verschachteln als Objekte; wenn ein Tag sich wiederholt — drei <item>-Elemente hintereinander — fallen sie zu einem Array zusammen, genau richtig für Listen. Ein Element mit nur Text wird ein reiner String; eines mit Text und Attributen behält seinen Text unter einem #text-Schlüssel. Entities wie &amp; und numerische Referenzen wie &#65; werden dekodiert, CDATA-Inhalt wörtlich genommen.

Da es ein echter rekursiver Parser ist, validiert er beim Lesen: ein nicht passender schließender Tag, ein unbeendeter Kommentar oder verirrter Inhalt nach der Wurzel ergeben einen klaren Fehler mit Zeilennummer, statt die Ausgabe still zu verstümmeln. Wähle zwei- oder vier-Leerzeichen-Einrückung für ein lesbares Ergebnis, oder minifiziere auf eine Zeile zum Einbetten.

Alles läuft lokal in deinem Browser — deine Daten verlassen dein Gerät nie, was bei XML-Exporten zählt, die oft Datensätze und Identifikatoren tragen.

Häufige Fragen

Wie werden XML-Attribute im JSON dargestellt?
Standardmäßig als Schlüssel mit @-Präfix (das Präfix ist änderbar). <book lang="en"> wird also { "book": { "@lang": "en" } }. Das ist die Konvention von Bibliotheken wie xml-js und badgerfish, die Ausgabe passt also in die meisten Toolchains.
Was passiert mit wiederholten Tags?
Sie werden ein Array. Drei <item>-Kinder fallen zu "item": [ … ] zusammen, was eine Liste braucht. Ein einmal vorkommender Tag bleibt ein einzelner Wert — das heißt, ein Dokument mit einem Item und eines mit mehreren bilden sich auf verschiedene Formen ab, was XML→JSON eigen ist.
Behandelt es gemischten Inhalt und CDATA?
Ja. Ein Element mit Text und Kindern (oder Attributen) behält seinen Text unter einem #text-Schlüssel. CDATA-Abschnitte werden wörtlich genommen, ihr <raw>-Markup und &-Zeichen überleben ungeparst. Kommentare und Processing Instructions werden übersprungen.
Warum meldete es einen Fehler statt umzuwandeln?
Es ist ein validierender Parser: ein nicht passender schließender Tag, ein unquotiertes Attribut, ein unbeendeter Kommentar oder Inhalt nach dem Wurzelelement stoppen die Umwandlung mit zeilennummerierter Meldung. Absicht — eine falsch-aber-stille Umwandlung ist schlimmer als ein klarer Fehler.
Wird mein XML irgendwo hochgeladen?
Nein. Parsing und Umwandlung laufen vollständig in deinem Browser und deine Daten verlassen dein Gerät nie.