
XML zu JSON Konvertierung: Ein praktischer Leitfaden für Entwickler
📷 Pixabay / PexelsXML zu JSON Konvertierung: Ein praktischer Leitfaden für Entwickler
XML wirkt wie ein Relikt vergangener Zeiten, aber Sie begegnen ihm täglich in APIs, Konfigurationsdateien und Daten-Feeds. So konvertieren Sie es ohne den Verstand zu verlieren.
Alle paar Jahre begeistert sich die Entwickler-Community dafür, XML für tot zu erklären. Und dann kommt Ihr erster Enterprise-Integrationsvertrag, oder Sie pullen einen RSS-Feed, oder schauen sich eine Android-Layout-Datei an, oder jemand überreicht Ihnen eine SOAP-API-Antwort von der Größe eines kleinen Romans — und da ist es. XML. Noch sehr lebendig.
Dieser Leitfaden ist nicht darüber, ob XML gut oder schlecht ist. Es geht um das praktische Problem, das Sie haben, wenn Sie XML-Daten haben und JSON brauchen — sei es, um es in eine moderne API einzuspeisen, in JavaScript zu parsen, oder einfach lesbar zu machen. Lassen Sie uns einsteigen.
Warum Sie XML noch 2026 begegnen
XML war das dominante Datenaustauschformat der späten 1990er und 2000er Jahre. JSON hat es für Web-APIs in den 2010ern weitgehend verdrängt, aber XML ist nie verschwunden — es hat sich nur in Bereiche zurückgezogen, wo es bereits verankert war.
Wo Sie XML regelmäßig begegnen:
RSS und Atom Feeds. Jede große Nachrichtenwebsite, Podcast-Plattform und Blog veröffentlicht einen RSS-Feed in XML. Wenn Sie einen Content-Aggregator, News-Reader oder Podcast-App bauen, arbeiten Sie mit XML.
SOAP Web Services. Viele Enterprise- und Regierungssysteme verwenden SOAP-APIs, die XML-basiert sind. Bank-Integrationen, Versicherungssysteme, Healthcare-APIs, Speditionsunternehmen — SOAP ist in B2B-Software allgegenwärtig.
Maven und Gradle (Java/Kotlin Build-Tools). pom.xml-Dateien. Wenn Sie ein JVM-Projekt berühren, berühren Sie XML. Androids AndroidManifest.xml und Layout-Dateien sind ebenfalls XML.
Microsoft Office-Formate. DOCX, XLSX, PPTX sind ZIP-Archive mit XML. Programmatische Dokumentengenerierung oder -analyse bedeutet oft XML unter der Haube.
SVG. Skalierbare Vektorgrafiken sind XML. Wenn Sie programmatisch mit Vektorgrafiken arbeiten, sind Sie im XML-Territorium.
Salesforce. Salesforces SOQL und Bulk API v1 geben beide XML aus.
Das Muster ist klar: Modernes Web-Development neigt stark zu JSON, aber sobald Sie Enterprise-Integrationen, Daten-Feeds oder ältere Ökosysteme berühren, taucht XML auf.
Was XML so mühsam macht
Wenn Sie an JSON gewöhnt sind, fühlt sich XML tief ärgerlich an. Hier ist warum.
Weitschweifigkeit. Vergleichen Sie:
{"user": {"id": 1, "name": "Alice", "active": true}}
versus:
<user>
<id>1</id>
<name>Alice</name>
<active>true</active>
</user>
Beide vermitteln dieselben Daten. Das XML ist länger, schwerer auf einen Blick zu lesen, und fehleranfälliger beim händischen Schreiben.
Attribut vs. Element-Ambiguität. XML lässt Sie Daten entweder als Attribut (<user id="1">) oder als Kindelement (<id>1</id>) darstellen. Beide sind gültig, und verschiedene XML-Schemas treffen verschiedene Entscheidungen. Diese Inkonsistenz bedeutet, dass Sie die Struktur ohne Schema-Lektüre nicht vorhersagen können.
Namespaces. XML-Namespaces erlauben das Koexistieren von Elementnamen aus verschiedenen Vokabularen ohne Kollision. Mächtig und notwendig für komplexe Dokumente, aber ein Kopfschmerz beim Extrahieren einfacher Werte.
Gemischter Inhalt. XML unterstützt Text gemischt mit Kindelementen:
<p>Das ist <em>wichtiger</em> Text.</p>
Das lässt sich nicht sauber auf JSON abbilden.
All das ist der Grund, warum das Arbeiten mit XML in JavaScript oder Python eine richtige XML-Bibliothek erfordert, kein String-Parsing. Und es ist der Grund, warum die Konvertierung zu JSON — wenn die Struktur es erlaubt — die Arbeit mit den Daten viel einfacher macht.
Wie JSON Daten anders modelliert
JSON hat ein einfacheres, striktes Typmodell:
- Strings —
"hello" - Zahlen —
42,3.14 - Booleans —
true,false - Null —
null - Arrays —
[1, 2, 3] - Objekte —
{"key": "value"}
Alles in JSON ist einer dieser sechs Typen. Es gibt kein Konzept von Attributen, Namespaces, gemischtem Inhalt oder Verarbeitungsanweisungen. Diese Einfachheit ist der Grund, warum JSON für API-Design gewonnen hat — es gibt nur einen Weg, Daten darzustellen.
Das XML-zu-JSON-Tool verwenden
Der XML-zu-JSON-Konverter verarbeitet die Konvertierung direkt in Ihrem Browser — keine Daten werden an einen Server gesendet, keine Installation erforderlich.
Grundlegende Verwendung:
- Fügen Sie Ihr XML in das linke Panel ein
- Klicken Sie auf Konvertieren (oder es konvertiert automatisch)
- Die JSON-Ausgabe erscheint rechts
- Kopieren Sie das JSON und verwenden Sie es wo immer Sie es brauchen
Für ein einfaches XML-Dokument wie:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>Alice</name>
<age>30</age>
<email>alice@example.com</email>
</person>
Erhalten Sie sauberes JSON:
{
"person": {
"name": "Alice",
"age": "30",
"email": "alice@example.com"
}
}
Beachten Sie, dass age in der JSON-Ausgabe ein String ist ("30" nicht 30). XML hat keinen Zahlentyp — alles ist Text.
Die Attribut-Prefix-Konvention
Wenn ein XML-Element Attribute hat, erscheinen sie in der JSON-Ausgabe mit einem @-Prefix:
<book id="123" lang="en">
<title>Clean Code</title>
<author>Robert Martin</author>
</book>
Konvertiert zu:
{
"book": {
"@id": "123",
"@lang": "en",
"title": "Clean Code",
"author": "Robert Martin"
}
}
Das @-Prefix ist eine weit verbreitete Konvention (ursprünglich aus der Badgerfish-Konvention und in mehreren beliebten XML-JSON-Konvertierungsbibliotheken verwendet). Es unterscheidet Attribute von Kindelementen in der JSON-Struktur. In Code greifen Sie mit data.book["@id"] auf den Attributwert zu.
Wiederholte Elemente werden zu Arrays
Eines der wichtigsten (und potenziell überraschenden) Konvertierungsverhalten: Wenn derselbe Tag mehrfach auf derselben Ebene erscheint, wird er zu einem JSON-Array.
<library>
<book>
<title>Clean Code</title>
</book>
<book>
<title>The Pragmatic Programmer</title>
</book>
<book>
<title>Refactoring</title>
</book>
</library>
Konvertiert zu:
{
"library": {
"book": [
{"title": "Clean Code"},
{"title": "The Pragmatic Programmer"},
{"title": "Refactoring"}
]
}
}
Das ist korrekt und nützlich. Aber es erzeugt eine Inkonsistenz: Wenn die Bibliothek nur ein Buch hätte, wäre book ein Objekt, kein Array. Das bringt viel Code zum Stolpern, der davon ausgeht, dass die JSON-Struktur immer konsistent ist.
Wenn Sie Code schreiben, der dieses konvertierte JSON verarbeitet, behandeln Sie immer den Fall, dass ein Feld entweder ein Objekt oder ein Array sein könnte. In JavaScript: Array.isArray(data.library.book) vor dem Zugriff auf Indexpositionen.
Wenn die Konvertierung nicht perfekt ist
Einige XML-Features lassen sich nicht sauber zu JSON übersetzen.
Namespaces. Namespace-Deklarationen (xmlns="...") können je nach Konverter erhalten bleiben oder nicht.
CDATA-Abschnitte. Die meisten Konverter extrahieren den Textinhalt aus CDATA-Blöcken. Wenn der CDATA-Inhalt beabsichtigtes Markup oder Sonderzeichen enthielt, überprüfen Sie die Ausgabe sorgfältig.
Verarbeitungsanweisungen und XML-Kommentare. Diese werden in der Regel verworfen.
Gemischter Inhalt. Der schwierigste Fall. Konverter behalten typischerweise nur die Kindelementwerte und verlieren den umgebenden Text.
Für einfachen Datenaustausch — APIs, Konfiguration, Daten-Feeds — sind diese Edge Cases selten relevant. Für dokumentenzentriertes XML (Content Management, technische Dokumentation) müssen Sie sich ihrer bewusst sein.
Praktische Anwendungsfälle
SOAP-API-Antwort verarbeiten
Die Konvertierung einer SOAP-Antwort liefert eine JSON-Struktur, mit der Sie in JavaScript ohne eine vollständige SOAP-Bibliothek arbeiten können. Namespace-Prefixe (soap:) erscheinen als Teil der Schlüsselnamen. Für schnelle Datenextraktion reicht das oft aus.
RSS-Feed parsen
RSS-Feeds sind XML-Dokumente mit einer vorhersehbaren Struktur. Die Konvertierung zu JSON erleichtert die Arbeit im modernen JavaScript erheblich. Nach der Konvertierung ist data.rss.channel.item ein Array von Posts, über das Sie direkt iterieren können.
Android-Ressourcendateien lesen
Androids strings.xml-Ressourcendateien sind XML. Die Konvertierung zu JSON macht es einfach, diese Dateien in Build-Skripten oder Tools zu verarbeiten, ohne ein vollständiges Android SDK.
Für programmatische Konvertierung
Wenn Sie XML im Code wiederholt zu JSON konvertieren müssen, ist das schnelle Browser-Tool nicht die Antwort. Hier sind die Optionen:
JavaScript/Node.js: fast-xml-parser ist die meistgenutzte Bibliothek, schnell und konfigurierbar. xml2js ist älter aber immer noch beliebt.
const { XMLParser } = require('fast-xml-parser');
const parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@' });
const result = parser.parse(xmlString);
Python: xmltodict konvertiert XML zu Python-Dictionaries (die sich sauber auf JSON abbilden lassen).
import xmltodict, json
result = xmltodict.parse(xml_string)
json_output = json.dumps(result, indent=2)
Go: encoding/xml ist in der Standardbibliothek, allerdings benötigt die API Struct-Definitionen für sauberes Parsing. github.com/clbanning/mxj bietet dynamische Konvertierung ähnlich wie xmltodict.
Für einmalige Konvertierungen oder Debugging ist das XML-zu-JSON-Tool schneller als jeglichen dieser Codes zu schreiben. Für Produktions-Pipelines wählen Sie eine Bibliothek, die zu Ihrer Sprache passt, und konfigurieren Sie sie einmalig.
XML geht nirgendwo hin — die installierte Basis XML-basierter Systeme ist enorm, und Unternehmen schreiben funktionierende Infrastruktur nicht nach Zeitplan neu. Die praktische Fähigkeit ist zu wissen, wie man effizient damit umgeht, wenn es auftaucht, anstatt jedes Mal damit zu ringen.
Verwandte Tools für die Arbeit mit strukturierten Daten:
- XML-Formatter — XML formatieren, validieren und hübsch drucken
- JSON-Formatter — JSON-Ausgabe nach der Konvertierung bereinigen
- JSON Diff — zwei JSON-Strukturen vergleichen, um Änderungen zu erkennen