XML-Formatierer & Validator
Fügen Sie XML ein, formatieren mit korrekter Einrückung oder validieren Sie die Syntax. Verarbeitet Attribute und Namespaces. Kein Upload.
- Fügen Sie Ihr XML in den linken Textbereich ein.
- Klicken Sie auf Formatieren, um durch fast-xml-parser Round-Trip zu machen und eingerücktes XML zu erzeugen.
- Klicken Sie auf Validieren, um die Wohlgeformtheit zu prüfen, ohne die Eingabe zu ändern.
- Fehler weisen auf die fehlerhafte Position im Dokument hin.
Was macht es?
Parst XML mit fast-xml-parser und gibt es mit konsistenter Einrückung erneut aus. Die Attributreihenfolge innerhalb jedes Elements wird beibehalten; die Element-Verschachtelung wird genau erhalten. Gemischter Inhalt (Text + Kindelemente) und Namespaces (prefix:tag) bleiben intakt. Die Ausgabe ist wohlgeformtes XML — aber wohlgeformt ist nicht dasselbe wie gültig (Gültigkeit erfordert ein Schema oder DTD, was dieses Tool nicht prüft).
Beispiel
Unordentliche XML-Eingabe:
<root version="1"><name>Ada</name><tags>math</tags><tags>logic</tags></root> Formatierte Ausgabe:
<root version="1">
<name>Ada</name>
<tags>math</tags>
<tags>logic</tags>
</root> Häufige XML-Fehler und wie man sie behebt
XML-Wohlgeformtheitsregeln sind strenger als HTML. Die folgenden Muster decken die meisten Parser-Fehler ab.
- Nicht geschlossener Tag. `<a><b></a>` ist ungültig — `<b>` muss geschlossen werden (`<b/>` oder `</b>` irgendwo). XML erlaubt keine HTML-artigen optionalen Schluss-Tags.
- Groß-/Kleinschreibung passt nicht. XML ist case-sensitive — `<Foo></foo>` sind zwei verschiedene Tag-Namen. Stimmen Sie die Schreibung exakt ab.
- Nicht escapte Sonderzeichen. Ein literales `<`, `>`, `&` oder Anführungszeichen innerhalb von Text oder einem Attributwert muss escapet werden: `<`, `>`, `&`, `"`. Verpacken Sie Daten mit diesen Zeichen in CDATA: `<![CDATA[...]]>`.
- Mehrere Wurzeln. XML benötigt genau ein Wurzelelement. `<a/><b/>` auf der obersten Ebene ist ungültig — verpacken: `<root><a/><b/></root>`.
- Ungültiger Elementname. Elementnamen können nicht mit einer Ziffer beginnen, dürfen keine Leerzeichen oder reservierte Zeichen (`< > & " \'`) enthalten. Namen, die mit `xml` (jede Schreibung) beginnen, sind durch die Spezifikation reserviert.
- Nicht übereinstimmende Anführungszeichen um Attribute. `<a name="value\'>` mischt doppelte und einfache Anführungszeichen. Wählen Sie pro Attribut einen Stil konsistent. Beide sind gültiges XML.
Häufig gestellte Fragen
Ändert Formatieren meine Daten?
Nur den Whitespace zwischen Elementen. Elementreihenfolge, Attributreihenfolge, Attributwerte, Textinhalt und CDATA-Einrahmung bleiben erhalten. Selbstschließende Form (`<x/>`) und explizite Form (`<x></x>`) können normalisiert werden.
Werden XML-Kommentare erhalten?
fast-xml-parser entfernt Kommentare standardmäßig. Wenn Sie kommentarerhaltende Formatierung brauchen, verwenden Sie ein anderes Tool (XSLT-Identitätstransformation oder `xmllint --format`).
Validiert das gegen ein Schema?
Nein. Es prüft nur Wohlgeformtheit — dass das Dokument als syntaktisch gültiges XML parst. Schema-Validierung (XSD, DTD, RelaxNG) ist ein separater Schritt, der das Schema als zusätzliche Eingabe benötigt.
Wie werden Namespaces behandelt?
Namespace-Präfixe bleiben Teil des Elementnamens (`x:foo`). Standard-Namespace-Deklarationen und Präfixbindungen werden als Attribute beibehalten. Namespace-bewusste Verarbeitung (URI-Auflösung) wird nicht ausgeführt.
Wird mein XML hochgeladen?
Nein. Alles läuft in Ihrem Browser — Ihre Eingabe wird durch JavaScript auf dieser Seite geparst und neu serialisiert und nie an einen Server gesendet.
Kann ich die Einrückung anpassen?
Aktuell auf 2 Leerzeichen pro Ebene festgelegt. Zur Anpassung führen Sie fast-xml-parser auf der Kommandozeile aus — dieselbe Bibliothek — und übergeben `{ indentBy: " " }` oder eine andere Zeichenfolge.