XML formatieren und minifizieren

Fügen Sie XML ein, um es einzurücken oder die Leerzeichen zwischen den Tags zu entfernen. Attribute, Kommentare, CDATA-Abschnitte und die Deklaration kommen unverändert zurück, Tag-Fehler werden mit Zeile und Spalte gemeldet.

Läuft lokal in deinem Browser

Einrücken und Komprimieren lassen die Daten unverändert

Der Formatierer fügt nur Leerzeichen zwischen den Tags hinzu oder entfernt sie; Attributwerte, Kommentare, CDATA-Abschnitte, Deklaration, DOCTYPE und Verarbeitungsanweisungen kommen Byte für Byte zurück. Kommentare überstehen das Komprimieren, und ein Teilbaum mit xml:space="preserve" bleibt bei beiden Schaltflächen unberührt.

So formatieren oder komprimieren Sie XML

Rückt eingefügtes XML zum Lesen ein oder entfernt die Leerzeichen zwischen den Tags, damit das Dokument kompakt wird. Das Layout wird in einem einzigen Durchlauf neu aufgebaut: Attribute, Kommentare, CDATA-Abschnitte, XML-Deklaration, DOCTYPE und Verarbeitungsanweisungen werden unverändert zurückgeschrieben.

Der Durchlauf findet in diesem Tab statt: Es wird nichts hochgeladen, und die Seite funktioniert auch ohne Netzwerkverbindung. Geprüft wird die Verschachtelung der Tags, nicht die Gültigkeit gegenüber einer DTD oder einem XML-Schema.

  1. Fügen Sie das XML in das Feld oben ein. Einrückung und Zeilenumbrüche der Vorlage spielen keine Rolle; das Layout wird aus der Struktur neu aufgebaut.
  2. Klicken Sie auf XML formatieren, um jede Ebene mit vier Leerzeichen einzurücken, oder auf XML komprimieren, um die Leerzeichen zwischen den Tags zu entfernen und das Dokument in möglichst wenigen Zeilen auszugeben.
  3. Lesen Sie die Meldung unter den Schaltflächen. Falsch geschlossene oder nie geschlossene Tags, ein zweites Wurzelelement, Text außerhalb des Wurzelelements, ein einzelnes „<“ im Text oder in einem Attributwert, ein Attributwert ohne Anführungszeichen sowie ein nicht beendeter Kommentar, CDATA-Abschnitt oder Tag werden mit Zeile und Spalte gemeldet.
  4. Mit Kopieren übernehmen Sie das Ergebnis; die Schaltfläche kopiert die formatierte Ausgabe und, solange kein Ergebnis vorliegt, den Eingabetext. Über Leeren verschwinden Eingabe und Ergebnis zusammen.

Was sich ändert und was unverändert bleibt

Was das Formatieren ändert

Hinzugefügt wird nur die Einrückung: vier Leerzeichen pro Ebene, und ein Element, dessen Inhalt nur Text ist, bleibt in einer Zeile. Gemischter Inhalt wird nie umgestellt, <p>Hello <b>world</b> !</p> behält also seine Leerzeichen und kommt genau so zurück, wie er geschrieben wurde.

Attributwerte, Kommentare, CDATA-Abschnitte, Deklaration, DOCTYPE und Verarbeitungsanweisungen werden Byte für Byte übernommen, die Attributreihenfolge bleibt erhalten. Einzige Ausnahme ist ein Wert ohne Anführungszeichen wie class=x: Er wird als class="x" zurückgeschrieben und gemeldet, weil XML die Anführungszeichen verlangt.

Was das Komprimieren entfernt

Beim Komprimieren entfallen auf jeder Ebene die reinen Leerzeichentexte zwischen Markup, sodass ein eingerücktes Dokument zu einer kompakten Zeile wird. Textinhalte bleiben unangetastet: <a> spaced text </a> und gemischter Inhalt behalten ihre Leerzeichen, und ein Element, dessen gesamter Inhalt aus Leerzeichen besteht, behält sie ebenfalls.

Kommentare überstehen das Komprimieren; löschen Sie sie selbst, wenn es auf die Bytes ankommt. Ein Teilbaum mit xml:space="preserve" bleibt bei beiden Schaltflächen unberührt.

Wenn das Dokument nicht wohlgeformt ist

Probleme werden mit Position gemeldet, etwa „Zeile 1, Spalte 10: </b> schließt stattdessen <a>.“, „Zeile 1, Spalte 7: <a> wird nie geschlossen.“ oder „Zeile 1, Spalte 1: </x> hat kein öffnendes Tag.“. Das Ergebnis wird trotzdem ausgegeben, damit Sie sehen, was sich aufbauen ließ; zuerst zu korrigieren ist jedoch die gemeldete Position.

Enthält die Eingabe gar kein Element – nur Text oder nur Leerzeichen –, sagt das Werkzeug das, statt eine Ausgabe zu erfinden. Aufgelistet werden nur die ersten fünf Probleme, der Rest wird gezählt.

Größe, Geschwindigkeit und Grenzen

Ein Dokument mit 600 KB und 20.000 Elementen wird in Chrome in etwa 0,15 Sekunden formatiert; Ausgaben über 200.000 Zeichen werden ohne Syntaxhervorhebung ausgegeben, damit der Tab reagiert. Die praktische Grenze ist der Arbeitsspeicher Ihres Geräts.

Die Prüfung ist rein strukturell: Es findet keine Validierung gegen DTD oder XML-Schema statt, Entitäten werden nicht aufgelöst, externe Dateien nicht geladen und deklarierte Namespace-Präfixe nicht gemeldet. Die Einrückung ist fest auf vier Leerzeichen gesetzt.

Zuletzt verwendet: