100 % lokal — Ihre Daten verlassen nie Ihren Browser

YAML in XML — Elementnamen, die funktionieren

YAML in XML umwandeln. Schlüssel, die keine Elementnamen sein können, werden repariert und Kollisionen bekommen ein Suffix — das Dokument parst sofort.

Sofort Privat Null Cookies
Einrückung

YAML-Eingabe

XML-Ausgabe

Was dieses Werkzeug tut

Schlüssel werden Elemente, Werte deren Inhalt.

benutzer:
  name: Ada
  geboren: 1815
<benutzer>
  <name>Ada</name>
  <geboren>1815</geboren>
</benutzer>

Ein Dokument mit mehreren Schlüsseln an der Wurzel wird in <root> verpackt, denn XML erlaubt genau ein Wurzelelement.

Schlüssel werden repariert, nicht kaputt ausgegeben

Ein XML-Elementname darf kein Leerzeichen enthalten, nicht mit einer Ziffer beginnen und ist auf bestimmte Zeichen beschränkt:

SchlüsselElement
user name<user_name>
2nd<_2nd>
user-name<user-name> (bereits zulässig)

Den Schlüssel unverändert zu schreiben ergäbe eine Datei, die wie XML aussieht und die kein Parser annimmt — die Art Ausgabe, die viel später scheitert, anderswo.

Zwei Schlüssel, die auf denselben Namen repariert werden

user name und user_name wollen beide user_name sein. Der zweite wird user_name_1.

Die Alternative wäre, einen den anderen überschreiben zu lassen, und ein Wert, der wortlos verschwindet, ist genau das, was dieses Werkzeug zu vermeiden sucht.

Listen werden wiederholte Elemente

items:
  - 1
  - 2
<items>
  <item>1</item>
  <item>2</item>
</items>

XML hat keinen Listentyp: die Wiederholung ist die Liste. Der Name item muss irgendwoher kommen, und das YAML bietet keinen an.

Attribute, wenn Sie welche wollen

Ein Schlüssel "@_id" wird zum Attribut, "#text" zum Text des Elements:

"@_id": 1
"#text": hallo
<root id="1">hallo</root>

Das ist die Konvention der Richtung XML nach YAML, der Rundweg behält also seine Form.

Datenschutz ab Werk

Alles läuft lokal in deinem Browser mit JavaScript. Deine Daten werden nie hochgeladen, wodurch das Tool auch für sensible Inhalte sicher ist und offline funktioniert.

Häufige Fragen

Was passiert mit einem Schlüssel, der kein gültiger Elementname ist?
Er wird repariert. Ein XML-Name darf kein Leerzeichen enthalten und nicht mit einer Ziffer beginnen: `user name` wird `user_name`, `2nd` wird `_2nd`. Den Schlüssel unverändert auszugeben ergäbe ein Dokument, das kein Parser liest — eine Datei, die gut aussieht, bis etwas sie zu öffnen versucht.
Und wenn zwei Schlüssel auf denselben Namen repariert werden?
`user name` und `user_name` ergäben beide `user_name`, der zweite bekommt daher ein Suffix: `user_name_1`. Sie zu verschmelzen ließe einen Wert stillschweigend verschwinden — genau der Unfall, den diese Seite vermeiden will.
Kann ich Attribute statt Elemente erzeugen?
Ja. Ein Schlüssel `"@_id"` wird zum Attribut `id`, und ein Schlüssel `"#text"` wird zum Textinhalt des Elements. Das ist dieselbe Konvention, die die Richtung XML nach YAML erzeugt, also behält ein hin- und zurückgewandeltes Dokument seine Form.

Ähnliche Konverter