Zum Hauptinhalt springen

← Zurück zum Blog

Was ist XML? Struktur, wohlgeformt vs. gültig, und XML vs. JSON

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

AspektXMLJSONHTML
ZweckDaten speichern/übertragenDaten speichern/übertragenDokumente anzeigen
TagsFrei benennbarKeine Tags (Klammern)Feste Menge (<p>, <div>)
AttributeJaNein (nur Schlüssel)Ja
StrengeMuss wohlgeformt seinStrengNachsichtig, 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: &lt; (<), &gt; (>), &amp; (&), &quot; (") und &apos; ('). 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