DokumenteBilderMedienPDF-Werkzeuge

XML in YAML konvertieren Online

XML-Konfiguration in modernes YAML umwandeln. Kostenlos, im Browser.

# // Invalid XML: DOMParser is not defined
Processed in your browser

Altes XML in modernes YAML

Spring/Java-Migration

Wandle Spring-Framework-XML-Beans in strukturiertes YAML um – als Ausgangspunkt für die Modernisierung deines Projekts.

CI/CD-Pipelines

Transformiere Maven/Ant-XML-Konfigurationen in YAML für GitHub Actions, GitLab CI oder CircleCI.

100 % privat

Dein XML verlässt nie deinen Browser. Keine Server, keine Anmeldung, keine Limits.

Echtzeit

Die Umwandlung geschieht während du tippst. XML-Syntaxfehler werden sofort angezeigt.

Drei Schritte, kein Aufwand

1

Dein XML einfügen

Füge den XML-Inhalt in den linken Editor ein. Unterstützt volles XML 1.0: Attribute, Namespaces, CDATA und Entities.

2

Automatische Umwandlung

Der Konverter analysiert die XML-Struktur und generiert sauberes, eingerücktes YAML 1.2. Der gesamte Prozess läuft in deinem Browser – nichts wird hochgeladen.

3

YAML kopieren oder herunterladen

Erhalte das fertige YAML, das direkt in Docker Compose, GitHub Actions, Kubernetes, Ansible oder jeder modernen Toolchain einsetzbar ist.

Noch Fragen?

Das häufigste Szenario ist die Migration von Java-Framework-Konfigurationen, die XML verwenden – Spring Frameworks applicationContext.xml, Maven-Build-Deskriptoren, Ant-Build-Dateien – zu modernem YAML-basierten Tooling, das von Spring Boot, GitHub Actions, GitLab CI, CircleCI, Kubernetes und Ansible verwendet wird. XML war der dominierende Konfigurationsstandard zwischen 1998 und ungefähr 2012; YAML 1.2 (veröffentlicht 2009) hat sich als bevorzugtes, menschenlesbares Konfigurationsformat im DevOps-Ökosystem etabliert. Die Umwandlung typischer Spring-XML-Konfigurationen in YAML reduziert den Dateiumfang um 30–50 % und verbessert gleichzeitig die Lesbarkeit erheblich.

XML-Attribute haben kein direktes YAML-Äquivalent. Die weit verbreitete Konvention ist, sie als untergeordnete Schlüssel mit dem Präfix '@' abzubilden (zum Beispiel wird <bean id='myBean' class='com.example.MyClass'> zu einem YAML-Objekt mit den Schlüsseln '@id' und '@class'). Textinhalt eines Elements (#text) wird ebenfalls als separater Schlüssel abgebildet, wenn das Element sowohl Attribute als auch Text hat. Diese Darstellung ist kompatibel mit js-yaml, PyYAML und SnakeYAML.

Ja. Android-Ressourcendateien und Layout-Dateien (res/layout/*.xml, res/values/*.xml) sind Standard-XML. Der Konverter erzeugt äquivalentes strukturelles YAML, das als Zwischenschritt bei der Migration zu Kotlin DSL oder Jetpack Compose oder für die automatisierte Ressourcenverarbeitung mit Python- oder Ruby-Skripten nützlich ist. Android-Namespaces (xmlns:android='http://schemas.android.com/apk/res/android') werden als Schlüssel im resultierenden YAML beibehalten.

XML 1.0 wurde vom W3C im Februar 1998 als vereinfachte Teilmenge von SGML veröffentlicht, primär für den Datenaustausch zwischen heterogenen Systemen konzipiert. YAML 1.2 wurde im Oktober 2009 als Revision veröffentlicht, die YAML zu einer strengen Obermenge von JSON machte. XML erfordert explizite öffnende und schließende Tags, verwendet Attribute und untergeordnete Elemente als zwei parallele Mechanismen zur Datendarstellung und hat native Unterstützung für Namespaces, DTDs und XML Schema. YAML verwendet Einrückungen für die Hierarchie, unterscheidet Skalare, Listen und Maps mit minimaler Syntax und hat kein natives Schema-System. Für Anwendungskonfigurationen ist YAML deutlich lesbarer und kompakter.

Das ist eine der häufigsten Migrationen in Enterprise-Java-Projekten. Spring Framework verwendete XML für Bean-Definitionen (applicationContext.xml, beans.xml), bis Spring Boot mit dem ersten stabilen Release im April 2014 application.yml populär machte. Eine direkte Eins-zu-eins-Konvertierung von Spring-Beans-XML nach YAML ist nicht unkompliziert, da sie semantisch unterschiedlich sind: Spring XML beschreibt den Objektgraphen des IoC-Containers, während application.yml Anwendungskonfigurationseigenschaften enthält. Die Umwandlung von XML nach YAML ist jedoch ein nützlicher Ausgangspunkt zum Verstehen der Struktur vor dem Refactoring zu Java-Annotationen und eigenschaftsbasierter Konfiguration.

Das generierte YAML ist gemäß der YAML-1.2-Spezifikation syntaktisch gültig und kann von jeder Standard-YAML-Bibliothek geparst werden. Die semantische Gültigkeit für Kubernetes (kubectl apply) oder Ansible (ansible-playbook) hängt jedoch davon ab, ob das eingegebene XML Daten mit der korrekten Struktur für diese Systeme darstellt. Dieses Tool führt eine strukturelle Konvertierung durch; wenn dein XML bereits korrekt eine Kubernetes-Spezifikation oder ein Ansible-Playbook modelliert, ist das resultierende YAML ein solider Ausgangspunkt, obwohl manuelle Anpassungen für plattformspezifische Typen wahrscheinlich erforderlich sind.

XML zu YAML konvertieren: Legacy-Konfiguration in modernes DevOps migrieren

XML (eXtensible Markup Language) wurde vom W3C in Version 1.0 im Februar 1998 veröffentlicht. Im ersten Jahrzehnt der 2000er-Jahre wurde XML zum universellen Konfigurationsformat im Enterprise-Java-Ökosystem: Spring Framework verwendete XML zur Definition von Anwendungskontext und Bean-Graphen (applicationContext.xml, web.xml, beans.xml), Maven übernahm XML für seinen Projekt-Deskriptor (pom.xml, der bis heute XML ist), und Ant beschrieb Build-Aufgaben in build.xml. Außerhalb von Java verwendete Android XML für UI-Layouts (res/layout/) und Ressourcen (res/values/strings.xml, colors.xml), SOAP-Webservices nutzten XML als Messaging-Protokoll, und Standards wie XHTML, SVG, MathML und RSS basieren alle auf XML 1.0. Die Ausführlichkeit von XML – obligatorische öffnende und schließende Tags, die parallelen Mechanismen von Attributen und untergeordneten Elementen – war akzeptabel, als Maschinen die primären Leser von Konfigurationsdateien waren.

YAML 1.2, veröffentlicht im Oktober 2009, veränderte das Paradigma für menschenlesbare Konfigurationen. Im Gegensatz zu XML verwendet YAML Einrückungen zur Darstellung von Hierarchie, unterscheidet Maps (Objekte), Listen und Skalare mit minimaler Syntax und ist seit Version 1.2 eine strikte Obermenge von JSON. Das DevOps-Ökosystem übernahm YAML massiv: Docker Compose verwendet docker-compose.yml seit seiner ersten öffentlichen Veröffentlichung im Dezember 2013, Kubernetes nutzt YAML für alle Manifests seit dem Start im Juni 2014, Ansible übernahm YAML für Playbooks und Rollen, GitHub Actions verwendet YAML für Workflows (.github/workflows/*.yml), und Spring Boot übernahm application.yml als Alternative zu application.properties seit dem ersten stabilen Release im April 2014. Für typische Infrastrukturkonfigurationen verwendet ein YAML-Äquivalent seines XML-Gegenstücks 30–50 % weniger Zeichen bei deutlich besserer Lesbarkeit.

Der Bedarf, XML in YAML zu konvertieren, entsteht häufig in Modernisierungsprojekten. Das häufigste Szenario im Java-Ökosystem ist die Migration klassischer Spring-Framework-Anwendungen (Spring 2.x, 3.x, 4.x mit XML-Konfiguration) zu Spring Boot, wo Konfigurationseigenschaften in application.yml ausgedrückt werden. Obwohl die Abbildung nicht eins zu eins ist – Spring-XML-Beans beschreiben den Objektgraphen des IoC-Containers, während application.yml Konfigurationseigenschaften enthält –, erleichtert die Umwandlung des XML in strukturelles YAML die Analyse und das Refactoring erheblich. Ein weiteres häufiges Szenario ist die Migration von Ant- oder Maven-Build-Pipelines (die XML verwenden) zu modernen YAML-basierten CI/CD-Tools. Schließlich können Android-Projekte, die XML-Ressourcen mit Skripten verarbeiten, von der YAML-Darstellung für die programmatische Manipulation profitieren. Convertir.ai führt die Konvertierung vollständig in deinem Browser durch, ohne Daten an einen Server zu senden.