araç köşesi

YAML in XML

YAML in ein XML-Dokument umwandeln; Schlüssel mit "@" werden Attribute, Listen werden wiederholte Elemente

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

So funktioniert es

Wenn Sie YAML haben — eine application.yml, eine Ansible-Variablendatei oder ein API-Beispiel — und ein System, das nur XML annimmt, fügen Sie das YAML in das linke Feld ein. Das XML erscheint sofort rechts. Beginnt das YAML mit genau einem obersten Schlüssel, wird dieser zum Wurzelelement: Aus einem Text mit "bestellung:" wird ein Dokument <bestellung>. Gibt es mehrere oberste Schlüssel oder ganz oben eine Liste, wird alles mit dem Namen aus dem Feld "Name des Wurzelelements" (standardmäßig root) umschlossen, denn XML erlaubt nur eine Wurzel. Ein Schlüssel mit @ am Anfang wird zum Attribut ("@nr": 1024 → <bestellung nr="1024">), ein Schlüssel "#text" zum Text des Elements. Das ist die Umkehrung der Regeln von XML in YAML; ein Dokument, das zwischen beiden Werkzeugen hin- und hergeht, bleibt gleich. Eine Liste wird zu wiederholten Elementen: zwei Einträge unter artikel ergeben zwei <artikel>. Ein leerer Wert ("storno hinweis:") wird zum leeren Element <storno_hinweis/>. Ein in XML ungültiger Name (Leerzeichen, Ziffer am Anfang) wird nicht stillschweigend zerstört, sondern mit Unterstrich angepasst; die Ergebniszeile nennt jede Änderung. Werte behalten ihre Schreibweise: Die Postleitzahl 01067 verliert ihre Null nicht.

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

Was ist YAML-Liste?

Eine Liste in YAML besteht aus Zeilen gleicher Einrückung, die jeweils mit "- " beginnen; eine Zeile wie "- nummer: DE-11" zeigt, dass der Eintrag selbst eine Zuordnung ist. In einer Zeile geht es auch mit eckigen Klammern: [a, b]. XML kennt keine namenlosen Listen; gleichnamige Elemente hintereinander übernehmen diese Rolle. Deshalb wird die Liste unter "artikel:" zu einer Folge von <artikel>-Elementen, eines pro Eintrag.

Was ist XML-Wurzelelement?

Das Wurzelelement ist das eine äußerste Tag, das alle Daten eines XML-Dokuments umschließt: <bestellung> … </bestellung>. Zwei Wurzeln sind in XML nicht zulässig; mehrere oberste YAML-Schlüssel nebeneinander ergäben eine Datei, die kein Programm öffnet. Das Werkzeug macht daher einen einzelnen obersten Schlüssel zur Wurzel oder umschließt alles mit dem Namen aus dem Feld. Erwartet das Zielsystem eine bestimmte Wurzel, etwa Order, tragen Sie diese ein.

Was ist der Unterschied zwischen YAML und XML?

YAML zeigt Struktur durch Einrückung, ist kurz und gut von Hand zu bearbeiten; den Typ von Werten ohne Anführungszeichen (Zahl, true, null) errät der Parser. XML setzt jeden Wert zwischen Tags, kann Attribute tragen, lässt sich per Schema (XSD) prüfen und kennt keine Typen: Jeder Wert ist Text. Von YAML nach XML geht nichts verloren, aber zwei XML-Begriffe brauchen eine YAML-Schreibweise: "@" für Attribute und "#text" für gemischten Text. Schnittstellen und ältere Systeme verlangen XML, Konfigurationsdateien stehen meist in YAML.

Welche YAML-Struktur wird zu welchem XML

Das Werkzeug schreibt YAML nach den umgekehrten Regeln von XML in YAML, damit ein Dokument in beide Richtungen gleich bleibt. Eine Zuordnung (schlüssel: wert) wird zu Unterelementen, eine Liste zu wiederholten Geschwister-Elementen, ein Schlüssel mit @ zu einem Attribut und "#text" zum Text des Elements. Eine Liste in einer Liste wird mit <item>-Elementen umschlossen, weil XML keine namenlosen Listen kennt.

Die Wurzelregel: XML verlangt genau ein äußerstes Element. Beginnt das YAML mit einem einzigen obersten Schlüssel (dessen Wert keine Liste ist), wird dieser zur Wurzel, und die Ergebniszeile sagt es. Sonst gilt der Name aus dem Feld "Name des Wurzelelements"; eine Liste ganz oben wird als <item>-Elemente geschrieben.

  • "@nr": 1024 → <bestellung nr="1024">
  • artikel: [ {nummer: DE-11}, {nummer: DE-42} ] → zwei <artikel>-Elemente
  • storno hinweis: (leer) → <storno_hinweis/>
  • "#text": Hallo → Elementtext: <hinweis>Hallo</hinweis>

Die Falle: Werte, die ein YAML-Parser zu Zahlen macht

Ein üblicher YAML-Parser macht aus 1.10 ohne Anführungszeichen die Zahl 1.1, aus der Postleitzahl 01067 die Zahl 1067 und aus 1e3 die Zahl 1000; im XML ist das Original dann verloren. Dieses Werkzeug behandelt einen Wert nur dann als Zahl, wenn sich seine Schreibweise dabei nicht ändert. 1.10, 01067, 1e3 und 2026-09-27 erscheinen im XML also genau so, wie sie im YAML stehen. XML hat ohnehin keine Typen, jeder Wert ist Text.

Nicht unterstützte Merkmale werden gemeldet statt übergangen: Anker und Aliasse (&name, *name), Typ-Tags (!!str), komplexe Schlüssel mit ? und mehrere Dokumente im Text (ein zweites ---) führen zu einer Meldung mit Zeilennummer. Auch Einrückungsfehler werden mit Zeilennummer gemeldet; Tabulatoren sind in YAML als Einrückung nicht erlaubt.

Häufige Fragen

Wie wandle ich eine YAML-Datei in XML um?

Öffnen Sie die .yml- oder .yaml-Datei in einem Texteditor, kopieren Sie den Inhalt und fügen Sie ihn links auf dieser Seite ein. Das XML erscheint sofort rechts; kopieren Sie es oder laden Sie es als .xml-Datei herunter. Enthält das YAML einen Fehler, nennt die Meldung Zeilennummer und Ursache.

Wie schreibe ich ein XML-Attribut in YAML?

Stellen Sie dem Schlüsselnamen ein @ voran und setzen Sie ihn in Anführungszeichen: "@nr": 7. Das Werkzeug macht daraus das Attribut nr="7". Braucht das Element Attribut und Text, schreiben Sie den Text unter "#text": hinweis: {"@sprache": de, "#text": Hallo} → <hinweis sprache="de">Hallo</hinweis>.

Warum wird der Name des Wurzelelements manchmal nicht verwendet?

Beginnt das YAML mit einem einzigen obersten Schlüssel (etwa nur "bestellung:"), ist dieser bereits das Wurzelelement, und das Feld wird nicht gebraucht; die Ergebniszeile weist darauf hin. Der Name aus dem Feld gilt, wenn das YAML mit mehreren obersten Schlüsseln oder einer Liste beginnt, denn XML verlangt genau ein äußerstes Element.

Werden meine Daten an einen Server gesendet?

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