araç köşesi

XML in YAML

XML-Konfiguration in YAML umwandeln: Attribute mit @, wiederholte Elemente als Liste, zahlenähnliche Werte in Anführungszeichen

Ihre Daten bleiben bei Ihnen. Die Umwandlung läuft im Browser; nichts wird an einen Server gesendet.

So funktioniert es

Wenn Sie eine alte XML-Konfiguration eines Java-Projekts oder die XML-Ausgabe eines Dienstes in ein Kubernetes-Manifest, ein Ansible-Playbook oder die application.yml von Spring Boot übernehmen wollen, fügen Sie das XML in das linke Feld ein. Das YAML entsteht rechts, sobald der Text eingefügt ist. Das Wurzelelement wird der oberste Schlüssel: Ein Dokument mit <server> beginnt mit der Zeile "server:". Attribute bekommen ein @ vorangestellt (umgebung="produktion" → "@umgebung": produktion), und ein Element, das unter demselben Elternteil zweimal vorkommt (zwei <recht>), wird zu einer Liste unter einem Schlüssel. XML kennt keine Zahlen oder Wahrheitswerte; <port>8080</port> ist Text. YAML liest ein 8080 ohne Anführungszeichen dagegen als Zahl und ein on in älteren Parsern als true. Deshalb schreibt das Werkzeug solche Werte als "8080" und "on" und nennt in der Ergebniszeile, wie viele es gequotet hat. Entfernen Sie die Anführungszeichen nur bewusst, etwa wenn das Zielprogramm dort eine Zahl erwartet. Einrückung: 2 oder 4 Leerzeichen, Tabulatoren sind in YAML verboten. Kommentare, Verarbeitungsanweisungen (<?...?>) und DOCTYPE werden nicht übernommen.

Dieses Werkzeug ist auch als xml in yaml umwandeln, xml zu yaml, xml to yaml, xml in yaml konvertieren, xml yaml converter online bekannt.

Was ist YAML?

YAML ist ein Datenformat, das Struktur durch Einrückung statt durch Klammern ausdrückt; Kubernetes-Manifeste, GitHub-Actions-Workflows, docker-compose-Dateien und die application.yml von Spring Boot sind YAML. Jede Zeile lautet "schlüssel: wert" oder "- eintrag", Verschachtelung entsteht durch Leerzeichen, Tabulatoren sind verboten. Den Typ eines Werts ohne Anführungszeichen errät der Parser — praktisch beim Schreiben von Hand, riskant bei Daten aus XML, wo alles Text ist.

Was ist XML-Attribut?

Ein Attribut ist eine Zusatzangabe im öffnenden XML-Tag in der Form name="wert": In <server umgebung="produktion"> ist umgebung ein Attribut. YAML unterscheidet nicht zwischen Attributen und Unterelementen, beides wird zum Schlüssel. Darum stellt der Umwandler dem Attributnamen ein @ voran: So bleibt die Unterscheidung erhalten, und beim erneuten Erzeugen von XML aus dem YAML ist klar, welche Schlüssel Attribute waren.

Was ist der Unterschied zwischen XML und YAML?

XML setzt jeden Wert zwischen ein öffnendes und ein schließendes Tag, kann Attribute tragen und lässt sich gegen ein Schema (XSD) prüfen; dafür ist es lang. YAML schreibt dieselbe Struktur mit Einrückung und ohne Tags, deutlich kürzer, und ist deshalb bei von Hand gepflegten Konfigurationsdateien verbreitet. Der wichtigste Unterschied betrifft Typen: In XML ist 8080 Text, in YAML ist 8080 ohne Anführungszeichen eine Zahl. Attribute und gemischter Text haben in YAML kein Gegenstück und werden über Namensregeln wie @ und #text übertragen.

Die Falle: "on" aus XML wird in YAML zu true

XML transportiert jeden Wert als Text; den Typ legt ein Schema oder das Programm fest. YAML errät den Typ eines Werts ohne Anführungszeichen selbst: 8080 ist eine Zahl, true ein Wahrheitswert, null leer. Parser für YAML 1.1 (PyYAML, ältere Ruby-Versionen, manche Ansible-Versionen) behandeln zusätzlich yes, no, on, off und Datumsangaben wie 2026-09-27 besonders. Ohne Anführungszeichen würde aus <https>on</https> ein true, und NO für Norwegen in einer Länderliste ein false.

Derselbe Schutz gilt für Kennungen mit führender Null, etwa eine Postleitzahl wie 01067 aus Dresden: Als Zahl gelesen verlöre sie die Null. Mit Anführungszeichen sieht der YAML-Leser genau den Text, der im XML stand.

  • <port>8080</port> → port: "8080"
  • <https>on</https> → https: "on" (ohne Anführungszeichen in YAML 1.1 = true)
  • <land>NO</land> → land: "NO" (ohne Anführungszeichen = false)
  • <plz>01067</plz> → plz: "01067" (führende Null bleibt)

So werden Attribute, Listen und gemischter Text geschrieben

Drei XML-Strukturen haben in YAML kein direktes Gegenstück. Das Werkzeug folgt bei allen dreien denselben Regeln wie der XML-in-JSON-Umwandler, damit beide Ausgaben zusammenpassen. Ein Attribut wird ein Schlüssel mit vorangestelltem @: <artikel id="7"> → "@id": "7". Weil @ in YAML reserviert ist, steht der Schlüssel in Anführungszeichen.

Ein Element, das sich unter demselben Elternteil wiederholt, wird zur Liste; ein einzelnes nicht. Steht ein <artikel> allein, zeigt das YAML also eine Zuordnung statt einer Liste — berücksichtigen Sie das, wenn Ihr Code immer eine Liste erwartet. Hat ein Element Text und Unterelemente, landet der Text unter "#text". Der YAML-in-XML-Umwandler wendet dieselben Regeln rückwärts an.

Häufige Fragen

Wie wandle ich eine XML-Datei in YAML um?

Öffnen Sie die XML-Datei in einem Texteditor, kopieren Sie den Inhalt und fügen Sie ihn links auf dieser Seite ein. Das YAML erscheint sofort rechts; wählen Sie 2 oder 4 Leerzeichen Einrückung und kopieren Sie das Ergebnis oder laden Sie es als .yaml-Datei herunter. Ist das XML fehlerhaft, nennt die Meldung das Element und die Zeilennummer.

Warum stehen manche Werte im YAML in Anführungszeichen?

In XML ist jeder Wert Text, YAML liest aber ein 8080 ohne Anführungszeichen als Zahl, on und yes als true und NO als false. Damit sich die Bedeutung nicht ändert, setzt das Werkzeug solche Werte in Anführungszeichen und zeigt an, wie viele es waren. Erwartet das Zielprogramm eine Zahl, können Sie die Anführungszeichen selbst entfernen.

Gehen XML-Attribute in YAML verloren?

Nein. Jedes Attribut wird als Schlüssel mit vorangestelltem @ geschrieben: <server umgebung="produktion"> → "@umgebung": produktion. Namensraum-Deklarationen (xmlns) bleiben ebenfalls als Attribute erhalten. Der YAML-in-XML-Umwandler macht daraus wieder Attribute.

Wird mein XML an einen Server gesendet?

Nein. Das XML wird in Ihrem Browser gelesen und das YAML dort geschrieben; Passwörter oder Serveradressen aus Ihrer Konfiguration verlassen diese Seite nicht. Nach dem Laden funktioniert die Seite auch ohne Internetverbindung.