DocumentsImagesMédiasOutils PDF

Convertir XML en YAML en Ligne

Convertis ta configuration XML en YAML moderne. Gratuit, dans ton navigateur.

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

XML legacy vers YAML moderne

Migration Spring/Java

Convertis les beans XML Spring Framework en YAML structure comme point de depart pour moderniser ton projet.

Pipelines CI/CD

Transforme les configurations XML Maven/Ant en YAML pour GitHub Actions, GitLab CI ou CircleCI.

100% prive

Ton XML ne quitte jamais ton navigateur. Pas de serveur, pas d'inscription, sans limites.

Temps reel

La conversion se fait au fur et a mesure de ta saisie. Les erreurs de syntaxe XML sont signalees instantanement.

Trois étapes, sans complications

1

Colle ton XML

Colle le contenu XML dans l'editeur de gauche. Prend en charge XML 1.0 complet : attributs, espaces de noms, CDATA et entites.

2

Conversion automatique

Le convertisseur analyse la structure XML et genere du YAML 1.2 propre et indente. Tout le traitement s'effectue dans ton navigateur, rien n'est envoye.

3

Copie ou telecharge le YAML

Recupere le YAML resultant pret a utiliser dans Docker Compose, GitHub Actions, Kubernetes, Ansible ou n'importe quelle chaine d'outils moderne.

Des questions ?

Le scenario le plus courant est la migration de configurations de frameworks Java utilisant XML — applicationContext.xml de Spring Framework, descripteurs de build Maven, fichiers de build Ant — vers des outils modernes bases sur YAML utilises par Spring Boot, GitHub Actions, GitLab CI, CircleCI, Kubernetes et Ansible. XML etait le standard de configuration dominant entre 1998 et 2012 environ ; YAML 1.2 (publie en 2009) est devenu le format de configuration lisible par les humains prefere dans l'ecosysteme DevOps. Convertir des configurations Spring XML typiques en YAML reduit le volume des fichiers de 30 a 50 % tout en ameliorant considerablement la lisibilite.

Les attributs XML n'ont pas d'equivalent direct en YAML. La convention largement adoptee est de les mapper comme des cles enfants prefixees par @ (par exemple, un element bean avec les attributs id et class devient un objet YAML avec les cles @id et @class). Le contenu textuel d'un element (#text) est egalement mappe comme une cle separee quand l'element possede a la fois des attributs et du texte. Cette representation est compatible avec js-yaml, PyYAML et SnakeYAML.

Oui. Les fichiers de ressources et de layouts Android (res/layout/*.xml, res/values/*.xml) sont du XML standard. Le convertisseur produit du YAML structurel equivalent, utile comme etape intermediaire lors d'une migration vers Kotlin DSL ou Jetpack Compose, ou pour le traitement automatise de ressources avec des scripts Python ou Ruby. Les espaces de noms Android (xmlns:android avec l'URL des schemas Android) sont preserves comme cles dans le YAML resultant.

XML 1.0 a ete publie par le W3C en fevrier 1998 comme sous-ensemble simplifie de SGML, concu principalement pour l'echange de donnees entre systemes heterogenes. YAML 1.2 a ete publie en octobre 2009 comme une revision faisant de YAML un sur-ensemble strict de JSON. XML requiert des balises d'ouverture et de fermeture explicites, utilise des attributs et des elements enfants comme deux mecanismes paralleles de representation des donnees, et a un support natif pour les espaces de noms, les DTDs et les schemas XML. YAML utilise l'indentation pour la hierarchie, distingue scalaires, listes et maps avec une syntaxe minimale, et n'a pas de systeme de schema natif. Pour la configuration d'applications, YAML est nettement plus lisible et concis.

C'est l'une des migrations les plus courantes dans les projets Java d'entreprise. Spring Framework utilisait XML pour les definitions de beans (applicationContext.xml, beans.xml) jusqu'a ce que Spring Boot popularise application.yml a partir de sa premiere version stable en avril 2014. Une conversion directe one-to-one de beans Spring XML en YAML n'est pas evidente car ils sont semantiquement differents : Spring XML decrit le graphe d'objets du conteneur IoC, tandis qu'application.yml contient les proprietes de configuration de l'application. Cependant, convertir le XML en YAML est un point de depart utile pour comprendre la structure avant de refactoriser vers des annotations Java et une configuration basee sur des proprietes.

Le YAML genere est syntaxiquement valide selon la specification YAML 1.2 et peut etre parse par n'importe quelle bibliotheque YAML standard. Cependant, la validite semantique pour Kubernetes (kubectl apply) ou Ansible (ansible-playbook) depend de si le XML source represente des donnees avec la structure correcte pour ces systemes. Cet outil effectue une conversion structurelle ; si ton XML modelise deja correctement une specification Kubernetes ou un playbook Ansible, le YAML resultant sera un bon point de depart, meme si des ajustements manuels pour les types specifiques a la plateforme seront probablement necessaires.

Convertir XML en YAML : migration de configuration legacy vers le DevOps moderne

XML (eXtensible Markup Language) a ete publie par le W3C dans sa version 1.0 en fevrier 1998. Durant la premiere decennie des annees 2000, XML est devenu le format de configuration universel dans l'ecosysteme Java d'entreprise : Spring Framework utilisait XML pour definir le contexte applicatif et les graphes de beans (applicationContext.xml, web.xml, beans.xml), Maven a adopte XML pour son descripteur de projet (pom.xml, qui reste en XML aujourd'hui), et Ant decrivait les taches de build dans build.xml. En dehors de Java, Android utilisait XML pour les layouts d'interface (res/layout/) et les ressources (res/values/strings.xml, colors.xml), les services web SOAP utilisaient XML comme protocole de messagerie, et des standards comme XHTML, SVG, MathML et RSS etaient tous construits sur XML 1.0. La verbosité de XML — balises d'ouverture et de fermeture obligatoires, mecanismes paralleles d'attributs et d'elements enfants — etait acceptable quand les machines etaient les principaux lecteurs des fichiers de configuration.

YAML 1.2, publie en octobre 2009, a change le paradigme des configurations lisibles par les humains. Contrairement a XML, YAML utilise l'indentation pour exprimer la hierarchie, distingue les maps (objets), listes et scalaires avec une syntaxe minimale, et est un sur-ensemble strict de JSON depuis la version 1.2. L'ecosysteme DevOps a adopte YAML massivement : Docker Compose utilise docker-compose.yml depuis sa premiere version publique en decembre 2013, Kubernetes utilise YAML pour tous les manifests depuis son lancement en juin 2014, Ansible a adopte YAML pour les playbooks et roles, GitHub Actions utilise YAML pour les workflows (.github/workflows/*.yml), et Spring Boot a adopte application.yml comme alternative a application.properties depuis sa premiere version stable en avril 2014. Pour les configurations d'infrastructure typiques, un equivalent YAML de son homologue XML utilise 30 a 50 % moins de caracteres avec une lisibilite significativement meilleure.

Le besoin de convertir XML en YAML se presente frequemment dans les projets de modernisation. Le scenario le plus courant dans l'ecosysteme Java est la migration d'applications Spring Framework classiques (Spring 2.x, 3.x, 4.x avec configuration XML) vers Spring Boot, ou les proprietes de configuration sont exprimees dans application.yml. Bien que le mapping ne soit pas un-pour-un — les beans Spring XML decrivent le graphe d'objets du conteneur IoC, tandis qu'application.yml contient les proprietes de configuration — avoir le XML converti en YAML structurel facilite grandement l'analyse et le refactoring. Un autre scenario frequent est la migration de pipelines de build Ant ou Maven (qui utilisent XML) vers des outils CI/CD modernes bases sur YAML. Enfin, les projets Android qui traitent des ressources XML avec des scripts peuvent beneficier de la representation YAML pour la manipulation programmatique. Convertir.ai effectue la conversion entierement dans ton navigateur via du JavaScript standard, sans envoyer aucune donnee a un serveur.