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
- Füge XML in das linke Feld ein, klicke auf Datei öffnen oder auf Beispiel. Eingefügtes XML wird sofort formatiert.
- Wähl eine Einrückung von 2 Leerzeichen, 4 Leerzeichen oder Tabs.
- Klicke auf Formatieren, Minifizieren oder Validieren. Strg+Enter wiederholt die letzte Aktion.
- 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 & 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&oder<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 oder ä sind nur erlaubt, wenn ein DOCTYPE sie deklariert, denn XML selbst kennt nur fünf: <, >, &, ' und ". 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.