XML (eXtensible Markup Language) ist älter als JSON, und obwohl JSON die API-Welt für sich gewonnen hat, ist es längst nicht tot: SVG, RSS/Atom-Feeds, Office-Dokumente (.docx), Android-Layouts, Maven pom.xml und SOAP sind alle XML. Es lesen und aufräumen zu können, ist weiterhin nützlich.
Wie XML aufgebaut ist
XML beschreibt Daten mit verschachtelten Elementen in Tags, die Attribute tragen können:
<book id="42" lang="de">
<title>Der Hobbit</title>
<author>Tolkien</author>
</book>
Jedes öffnende Tag braucht ein passendes schließendes (oder ist selbstschließend, <br/>), Tags müssen korrekt verschachtelt sein und Attributwerte in Anführungszeichen stehen. Ist eines davon falsch, lässt sich das Dokument nicht parsen.
Wohlgeformt vs. gültig — ein wichtiger Unterschied
Klingt gleich, ist es aber nicht:
- Wohlgeformt heißt, das XML folgt den obigen Syntaxregeln — korrekte Tags, Verschachtelung und Anführungszeichen. Jeder XML-Parser kann das prüfen.
- Gültig heißt, es entspricht zusätzlich einem bestimmten Schema (DTD oder XSD), das festlegt, welche Elemente und Attribute erlaubt sind. Das braucht das Schema.
Die meisten Online-Tools — auch unseres — prüfen, ob XML wohlgeformt ist. Das fängt die Alltagsfehler ab (ein nicht geschlossenes Tag, ein verirrtes &), und genau die brechen in der Praxis das Parsen.
XML vs. JSON: wann was
- JSON ist leichter und der Standard für Web-APIs und Konfigurationen, die ein Programm liest.
- XML glänzt, wo du Attribute, gemischten Inhalt (Text und Elemente zusammen), Namensräume oder Kommentare brauchst — oder wo ein Ökosystem es bereits standardisiert hat (SVG, RSS, Office-Formate).
Weniger Konkurrenten als Werkzeuge für verschiedene Aufgaben.
XML, JSON und HTML im Vergleich
| Aspekt | XML | JSON | HTML |
|---|---|---|---|
| Zweck | Daten speichern/übertragen | Daten speichern/übertragen | Dokumente anzeigen |
| Tags | Frei benennbar | Keine Tags (Klammern) | Feste Menge (<p>, <div>) |
| Attribute | Ja | Nein (nur Schlüssel) | Ja |
| Strenge | Muss wohlgeformt sein | Streng | Nachsichtig, Browser verzeihen Fehler |
| Kommentare | <!-- --> | Keine | <!-- --> |
XML und HTML ähneln sich, weil beide von SGML abstammen; XML lässt dich aber eigene Tags erfinden und ist syntaktisch streng, während HTML ein festes Vokabular hat und Browser nachlässige Auszeichnung dulden. XHTML war der Versuch, HTML an die Regeln von XML zu binden.
Ein Beispiel aus der Praxis: RSS
Ein RSS-Feed ist einfach XML mit vereinbarten Tag-Namen:
<rss version="2.0">
<channel>
<title>Mein Blog</title>
<item>
<title>Erster Beitrag</title>
<link>https://example.com/erster</link>
</item>
</channel>
</rss>
SVG-Grafiken funktionieren genauso — ein <svg>-Dokument ist XML, das du in einem Texteditor öffnen und von Hand bearbeiten kannst.
Typische Stolperfallen
- Sonderzeichen escapen. Fünf Zeichen brauchen im Text Entities:
<(<),>(>),&(&),"(") und'('). Ein rohes&ist die häufigste Ursache für einen kaputten Feed. - XML unterscheidet Groß- und Kleinschreibung.
<Title>und<title>sind verschiedene Elemente, und ein schließendes Tag muss exakt passen. - Nur ein Wurzelelement. Ein wohlgeformtes Dokument hat genau ein oberstes Element, das alles andere umschließt.
Weil SVG XML ist, gilt dieselbe Aufräumlogik beim Bearbeiten von Vektorgrafiken — siehe unseren Leitfaden zu PNG zu SVG.
Im Browser formatieren und validieren
Der XML-Formatter verschönert unübersichtliches XML zu einer lesbaren, eingerückten Struktur, minimiert es wieder auf eine Zeile und meldet Syntaxfehler — alles lokal, sodass selbst sensible Konfiguration dein Gerät nie verlässt.
Verwandte Tools
- Arbeitest du mit JSON? Nutze den JSON-Formatter.
- Zwischen JSON und YAML umwandeln? Probiere JSON ⇄ YAML.