Zum Inhalt springen

XML-FormatiererBeta

Formatiere XML mit einstellbarer Einrückung oder minimiere es zu einem kompakten Block. Prüft, ob es wohlgeformt ist. Alles läuft in deinem Browser.

0 Zeichen · 0 Zeilen
Modus

0 Zeichen · 0 Zeilen

So funktioniert es

Füge dein XML in das Eingabefeld ein, und das Ergebnis wird angezeigt. Wähle „Formatieren“, damit jedes Tag in eine eigene, eingerückte Zeile kommt und die Struktur auf einen Blick erkennbar wird, oder wähle „Minimieren“, um Zeilenumbrüche und Leerzeichen zwischen den Tags zu entfernen und die Dateigröße zu verringern. Im Formatierungsmodus kannst du außerdem die Einrückungsbreite wählen (2 Leerzeichen, 4 Leerzeichen oder ein Tabulator). Bei gemischtem Inhalt (Text zwischen Elementen, „mixed content“) ordnet „Formatieren“ die Leerzeichen dazwischen neu, während „Minimieren“ die ursprünglichen Leerzeichen dort unverändert lässt. Ist dein eingefügtes XML nicht wohlgeformt, erscheint statt eines Ergebnisses eine Fehlermeldung — nach Möglichkeit mit Zeile und Spalte der Fundstelle.

Wohlgeformt und gültig sind zwei verschiedene Dinge

Diese Unterscheidung sorgt oft für Verwirrung. „Wohlgeformt“ bedeutet, dass das Dokument den eigenen Syntaxregeln von XML folgt: Tags sind korrekt geöffnet und geschlossen, Attributwerte stehen in Anführungszeichen, und es gibt genau ein Wurzelelement, unter anderem. „Gültig“ bedeutet, dass das Dokument zusätzlich der Struktur folgt, die ein bestimmtes Schema — eine DTD oder ein XSD — vorgibt: welche Elemente in welcher Reihenfolge Pflicht sind und so weiter. Dieses Tool prüft nur die Wohlgeformtheit, mit dem im Browser eingebauten Parser; es validiert nicht gegen ein Schema. Für eine Schema-Validierung brauchst du ein Tool, das genau für dieses Schema gebaut ist.

Kommentare, CDATA und Verarbeitungsanweisungen bleiben unverändert

Sowohl beim Formatieren als auch beim Minimieren bleibt der Inhalt von <!-- Kommentaren -->, <![CDATA[ ... ]]>-Abschnitten und <?Verarbeitungsanweisungen?> genau erhalten. Beim Formatieren bekommt jedes davon eine eigene, eingerückte Zeile; beim Minimieren werden nur die umgebenden Zeilenumbrüche entfernt. Eine <!DOCTYPE ...>-Deklaration und eine <?xml version="1.0"?>-Deklaration werden ebenfalls unverändert an den Anfang der Ausgabe übernommen.

Keine Sorge wegen XXE

Das Parsen von XML auf einem Server kann wegen XXE-Angriffen (XML External Entity) riskant sein. Dieses Tool umgeht das Problem vollständig: Es nutzt den im Browser eingebauten DOMParser, der bewusst keine externen DTDs oder im Dokument referenzierten externen Entitäten lädt. Außerdem läuft alles lokal in deinem Browser ab, und es wird nichts an einen Server gesendet — selbst XML aus einer nicht ganz vertrauenswürdigen Quelle kann hier also keinen Server gefährden.

Datenschutz

Das eingefügte XML wird ausschließlich in diesem Browser-Tab verarbeitet und nie gespeichert oder übertragen. Beim Schließen der Seite ist es weg.

Quellen

Häufige Fragen

Prüft dieses Tool nur, ob mein XML wohlgeformt ist, oder auch, ob es einem Schema entspricht?

Es prüft nur, ob das Dokument wohlgeformt ist — also ob Tags korrekt geöffnet und geschlossen sind, Attributwerte in Anführungszeichen stehen und es genau ein Wurzelelement gibt, unter anderem. Es prüft nicht, ob das Dokument einem bestimmten Schema (XSD oder DTD) entspricht, findet also keine fehlenden Pflichtelemente oder falsch angeordneten Elemente gemäß einem Schema.

Ist das Parsen von XML im Browser anfällig für XXE-Angriffe (XML External Entity)?

Nein. Der im Browser eingebaute DOMParser lädt keine externen DTDs oder externen Entitäten, die im Dokument referenziert werden. Außerdem sendet dieses Tool nichts an einen Server und verarbeitet alles lokal in deinem Browser, sodass selbst bei XML aus einer nicht vertrauenswürdigen Quelle keine serverseitige XXE-Angriffsfläche entsteht.

Verschwinden Kommentare oder CDATA-Inhalte, wenn ich mein XML minimiere?

Nein. Beim Minimieren werden nur die Zeilenumbrüche und Einrückungen zwischen den Tags entfernt — Kommentare, CDATA-Abschnitte, Verarbeitungsanweisungen und Textinhalte bleiben genau so erhalten, wie sie waren. Wenn du auch Kommentare entfernen willst, musst du das separat tun.

Kommt das Tool auch mit großen XML-Dateien zurecht?

Ja — da der im Browser eingebaute Parser verwendet wird, werden XML-Dateien von einigen Megabyte problemlos verarbeitet. Bei sehr großen oder tief verschachtelten Dokumenten kann es je nach Leistung deines Browsers kurz stocken.