Zum Inhalt springen
Case Converter Online
de

XML formatieren und validieren

Füge XML ein, um es ordentlich einzurücken, zu minifizieren oder auf Wohlgeformtheit zu prüfen. Kaputtes Markup wird mit Zeile und Spalte gemeldet, statt dass das Tool rät.

Füge XML ein oder klicke auf Beispiel. Mit Strg+Enter formatierst du. Alles läuft in deinem Browser.

Was der XML Formatter macht

XML speichert strukturierte Daten als verschachtelte Tags. Es steckt in RSS-Feeds, Sitemaps, SOAP-APIs, Android-Layouts, Maven-pom.xml-Dateien, Office-Dokumenten, E-Rechnungen und vielen Datenexporten. Maschinen schreiben es oft als eine lange Zeile. Dieses Tool legt es mit einem Element pro Zeile und einheitlicher Einrückung an, damit die Verschachtelung leicht zu verfolgen ist.

Es gibt drei Aktionen:

  • Formatieren rückt das XML ein.
  • Minifizieren entfernt den Leerraum zwischen Tags, um die Datei zu verkleinern.
  • Validieren prüft, ob das Dokument wohlgeformt ist, und meldet das erste Problem.

So nutzt du ihn

  1. Füge XML in das linke Feld ein, klicke auf Datei öffnen oder auf Beispiel. Eingefügtes XML wird sofort formatiert.
  2. Wähl eine Einrückung von 2 Leerzeichen, 4 Leerzeichen oder Tabs.
  3. Klicke auf Formatieren, Minifizieren oder Validieren. Strg+Enter wiederholt die letzte Aktion.
  4. Klicke auf Kopieren oder Herunterladen, um das Ergebnis als .xml-Datei zu speichern.

Vorher und nachher

Ein Produktkatalog in einer Zeile:

<?xml version="1.0" encoding="UTF-8"?><catalog><book id="bk101"><author>Gambardella, Matthew</author><title>XML Developer's Guide</title><price>44.95</price></book><book id="bk102"><author>Ralls, Kim</author><title>Midnight Rain</title><price>5.95</price></book></catalog>

Nach Formatieren mit 2 Leerzeichen:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
  </book>
  <book id="bk102">
    <author>Ralls, Kim</author>
    <title>Midnight Rain</title>
    <price>5.95</price>
  </book>
</catalog>

Textinhalt bleibt in derselben Zeile wie sein Element. Das ist wichtig, denn ein Zeilenumbruch innerhalb von <price>44.95</price> würde den Wert ändern, den ein Programm liest.

Minifizieren macht aus der formatierten Version wieder die einzelne Zeile von oben. Validieren meldet bei derselben Eingabe: Wohlgeformtes XML. Wurzelelement <catalog>, insgesamt 9 Elemente.

CDATA-Abschnitte bleiben genau so, wie sie geschrieben wurden. <script><![CDATA[if (a < b) run();]]></script> kommt also unverändert heraus.

Fehler, die die Prüfung findet

Viele XML-Formatter „reparieren“ kaputtes Markup still und leise, etwa indem sie ein Tag an einer Stelle schließen, die du gar nicht wolltest. Dieser hier prüft das Dokument zuerst und hält beim ersten Problem an. Das sind echte Meldungen:

Eingabe Meldung
<to>Tove</from> Zeile 2, Spalte 11: Das schließende Tag </from> passt nicht zu <to>, geöffnet in Zeile 2
Smith & Sons Zeile 1, Spalte 16: Ein einzelnes "&" muss als &amp; geschrieben werden
Ein <item>, das nie geschlossen wird Zeile 4, Spalte 1: Das schließende Tag </list> passt nicht zu <item>, geöffnet in Zeile 3
<book id=101/> Zeile 1, Spalte 10: Der Wert von "id" muss in Anführungszeichen stehen
Zwei Elemente auf oberster Ebene Zeile 2, Spalte 1: Nur ein Wurzelelement ist erlaubt, gefunden wurde ein zweites: <b>

Klicke auf In der Eingabe zeigen, um den Cursor zum Problem zu bewegen.

Was „wohlgeformt“ bedeutet

Ein XML-Dokument ist wohlgeformt, wenn es die grundlegenden Syntaxregeln einhält:

  • Jedes öffnende Tag hat ein passendes schließendes Tag oder schließt sich selbst, wie <br/>.
  • Tags werden in umgekehrter Reihenfolge geschlossen, in der sie geöffnet wurden.
  • Es gibt genau ein Wurzelelement.
  • Attributwerte stehen in einfachen oder doppelten Anführungszeichen, und kein Attribut kommt in einem Element doppelt vor.
  • Ein wörtliches & oder < im Text wird als &amp; oder &lt; geschrieben. Das betrifft im Deutschen oft Firmennamen wie „Müller & Söhne“.
  • Die Deklaration <?xml ... ?> steht, falls vorhanden, ganz am Anfang der Datei.

Benannte Entitäten wie &nbsp; oder &auml; sind nur erlaubt, wenn ein DOCTYPE sie deklariert, denn XML selbst kennt nur fünf: &lt;, &gt;, &amp;, &apos; und &quot;. Umlaute schreibst du in XML mit UTF-8 einfach direkt als ä, ö und ü.

Tipps und Grenzen

  • Die Validierung nutzt kein Schema. Ein Dokument kann wohlgeformt sein und trotzdem die falschen Elemente für deine Anwendung enthalten.
  • Leerraum innerhalb von Text bleibt erhalten. Wenn Text neu umbrochen werden soll, bearbeite ihn von Hand.
  • Minifizieren behält Kommentare. Lösch sie vorher, wenn du die kleinstmögliche Datei brauchst.
  • Alles läuft lokal, interne Konfigurationen und Exporte kannst du also bedenkenlos einfügen.

Andere Wege, XML zu formatieren

xmllint. Unter Linux und macOS gibt xmllint --format file.xml eine eingerückte Kopie aus, und xmllint --noout file.xml meldet nur Fehler. Mit --schema prüft es auch gegen ein Schema.

VS Code. Installiere eine XML-Erweiterung (die XML-Erweiterung von Red Hat ist eine verbreitete Wahl) und führe dann Dokument formatieren aus.

Notepad++. Das Plugin XML Tools fügt einen Befehl Pretty Print hinzu.

Ähnliche Tools

Wenn deine Daten JSON sind, nimm den JSON Formatter. Für Konfigurationsdateien erledigt der YAML Formatter dieselbe Aufgabe für YAML. Für Webseiten nimm den HTML Formatter, der HTML-Regeln versteht, die XML nicht erlaubt.

XML Formatter: Fragen und Antworten

Warum lehnt der Formatter mein XML ab, statt es zu reparieren?

Zu raten, wo ein fehlendes Tag hingehört, kann deine Daten unbemerkt verändern. Das Tool prüft zuerst, ob das XML wohlgeformt ist, und formatiert es dann. Ist es das nicht, bekommst du Zeile, Spalte und den Fehler, damit du ihn selbst beheben kannst.

Prüft er mein XML gegen ein Schema?

Nein. Validieren prüft, ob das XML wohlgeformt ist: Tags passen zusammen, Attribute stehen in Anführungszeichen, es gibt ein Wurzelelement, und Entitäten sind korrekt geschrieben. Die Prüfung gegen eine XSD oder DTD braucht ein Tool, das Schemas versteht, etwa xmllint. Bei E-Rechnungen im Format XRechnung oder ZUGFeRD ersetzt diese Seite also keine Prüfung mit einem offiziellen Validator.

Wird Text in Elementen verändert?

Nein. Kurzer Text bleibt in derselben Zeile wie seine Tags, <title>Midnight Rain</title> bleibt also, wie es ist. Kommentare, CDATA-Abschnitte und die XML-Deklaration bleiben ebenfalls erhalten.

Kann ich ihn für HTML verwenden?

Nur wenn das HTML auch gültiges XML ist (XHTML). Normales HTML erlaubt Tags wie <br> ohne schließendes Tag, XML nicht. Für normale Webseiten nimm den HTML Formatter.

Wird mein XML irgendwo hochgeladen?

Nein. Formatter und Prüfung laufen beide in deinem Browser. Dateien, die du mit Datei öffnen lädst, werden auf deinem Gerät gelesen.

Mehr Tools für Code und Daten

Alle Tools ansehen