Convertir XML en JSON en Ligne
Convertis du XML en JSON dans ton navigateur. Ideal pour la migration SOAP vers REST, l'analyse de flux RSS/Atom ou le traitement de XML heritage.
// Invalid XML: DOMParser is not defined
A quoi ca sert
XML en JSON : modernise ton stack de donnees
Migration SOAP vers REST
Convertis les reponses de services web SOAP (XML) en JSON pour les integrer avec des API REST modernes et des clients JavaScript.
Flux RSS et Atom
Analyse les flux RSS 2.0 et Atom 1.0 en JSON pour les traiter avec JavaScript, les stocker dans MongoDB ou les afficher dans des apps web.
100 % prive
Ton XML est traite dans ton navigateur avec le DOMParser natif. Ne quitte jamais ton appareil.
XML heritage
Traite les ressources Android (strings.xml, layouts), les sitemaps, les manifestes SOAP ou tout format XML heritage.
Comment ça marche
Trois étapes, sans complications
Colle ton XML
Colle n'importe quel XML valide : reponse SOAP, flux RSS/Atom, sitemap.xml, manifeste Android ou tout document XML 1.0.
Conversion intelligente
Les attributs XML sont convertis avec le prefixe @, le contenu textuel avec #text, et les elements repetes sont automatiquement regroupes en tableaux.
Telecharge ou copie le JSON
Obtiens un JSON structure pret a utiliser dans ton API REST, ta base de donnees NoSQL ou ton code JavaScript/Python.
FAQ
Des questions ?
Le XML permet aux elements enfants comme aux attributs de stocker des donnees, sans equivalent direct en JSON. La convention la plus adoptee (utilisee par xml2js en Node.js, xmltodict en Python et JAXB en Java) est de prefixer les attributs avec @ : l'element avec id et role devient un objet avec @id et @role. Le contenu textuel des elements mixtes (ceux avec a la fois des attributs et du texte) est place dans la cle #text. Cette convention est conforme a la specification BadgerFish et aux outils les plus populaires de l'ecosysteme.
En XML, il est tout a fait valide d'avoir plusieurs elements freres avec le meme nom. Le JSON ne peut pas representer plusieurs cles identiques dans le meme objet (ce serait un JSON invalide selon la RFC 7159). La solution standard est de les regrouper dans un tableau. Un bon convertisseur detecte automatiquement les elements repetes et les convertit en tableaux, meme quand il n'y en a que deux. Cela peut causer des incoherences si parfois il y a un seul element et parfois plusieurs : la solution est de toujours normaliser en tableau pour les champs pouvant se repeter.
Les espaces de noms XML (definis par le W3C dans Namespaces in XML 1.0, publie en janvier 1999 et revise en aout 2006) sont une fonctionnalite XML sans equivalent en JSON. La representation la plus courante est d'inclure le prefixe de l'espace de noms comme partie du nom de cle : l'element soap:Body devient la cle soap:Body dans le JSON. Les declarations d'espace de noms sont traitees comme des attributs et apparaissent sous la forme @xmlns:prefixe. Pour les cas d'usage comme la migration SOAP vers REST ou les espaces de noms sont omnipr+esents, un post-traitement est souvent necessaire pour supprimer les prefixes d'espace de noms du JSON resultant.
CDATA (Character Data) est une section XML speciale permettant d'inclure du texte contenant des caracteres normalement reserves (inferieur, superieur, esperluette, guillemets) sans utiliser d'entites XML. Le CDATA est frequemment utilise pour inclure du HTML, du JavaScript, du SQL ou tout texte avec des caracteres speciaux dans un element XML. Lors de la conversion en JSON, le contenu CDATA est traite comme du texte brut : les sections CDATA sont remplacees par leur contenu sans le balisage, et le resultat est place comme chaine normale dans la valeur du champ JSON.
La conversion se fait dans ton navigateur en utilisant le DOMParser natif du navigateur pour analyser le XML et un serialiseur JSON personnalise. Le DOMParser peut gerer des fichiers XML de plusieurs dizaines de Mo dans les navigateurs modernes. Pour les gros fichiers (plus de 10 Mo), le traitement peut prendre quelques secondes. Pour les tres grands fichiers XML (plus de 100 Mo, comme des sitemaps avec des centaines de milliers d'URL ou des extractions de base de donnees XML), des outils en ligne de commande comme xml2json en Node.js avec des flux sont recommandes.
Convertir XML en JSON : migration SOAP vers REST, flux RSS et traitement du XML heritage
Le XML (Extensible Markup Language) a ete defini par le W3C dans la recommandation XML 1.0 (publiee le 10 fevrier 1998, actuellement dans sa cinquieme edition de novembre 2008). Tout au long des annees 2000, le XML a ete le format universel d'echange de donnees : SOAP (Simple Object Access Protocol, specification W3C 2003) utilisait le XML comme format de message, RSS 2.0 (publie par Dave Winer en 2002) et Atom 1.0 (RFC 4287, decembre 2005) distribuaient des flux de nouvelles en XML, Android (lance par Google en 2008) utilisait le XML pour les layouts, les chaines et les manifestes d'application, et SVG (Scalable Vector Graphics, W3C 1.1 de 2003) est du XML. La transition vers le JSON comme format d'echange principal a commence avec la popularisation d'AJAX et la specification JSON de Douglas Crockford (RFC 4627, juillet 2006, supersedee par RFC 7159 en 2014). Aujourd'hui, la plupart des nouvelles API utilisent JSON/REST, mais des millions de systemes heritage, services B2B et formats standard de l'industrie (UBL, HL7 FHIR en XML, SOAP, KML, GPX) utilisent encore le XML.
La conversion de XML en JSON est non triviale car les deux modeles de donnees ont des differences conceptuelles fondamentales. Le XML est un modele d'arbre de noeuds (elements, attributs, texte, commentaires, instructions de traitement, CDATA) ou les elements peuvent avoir simultanement des attributs et du contenu enfant/textuel. Le JSON est un modele d'arbre de valeurs (objets, tableaux, chaines, nombres, booleens, null) sans concept d'attributs separes du contenu. Les principales conventions de conversion sont : les attributs XML comme cles avec le prefixe @ (convention BadgerFish/xml2js) ; le texte des elements mixtes dans la cle #text ; les elements repetes regroupes en tableaux ; les espaces de noms preserves comme prefixes de cle ; le CDATA traite comme texte brut. La convention BadgerFish, documentee sur badgerfish.de et adoptee par les bibliotheques les plus populaires, est le standard de facto pour cette conversion.
Pour les cas d'usage en production a grande echelle, les outils les plus utilises sont : xml2js (Node.js, plus de 25 millions de telechargements mensuels sur npm), xmltodict (Python, base sur xml.etree de la bibliotheque standard), JAXB (Java, partie de Jakarta EE) et encoding/xml (bibliotheque standard Go). Pour la migration de services SOAP heritage vers REST, des outils comme Apache Camel, MuleSoft Anypoint et AWS API Gateway avec transformations de payload offrent une integration XML vers JSON native au niveau du middleware. Pour sitemap.xml (le protocole Sitemaps defini sur sitemaps.org, adopte par Google en 2005), la conversion en JSON permet de traiter des listes d'URL avec JavaScript sans analyseur XML. Convertir.ai utilise le DOMParser natif du navigateur (API standard du W3C, disponible dans tous les navigateurs modernes depuis 2004) pour analyser le XML et un serialiseur personnalise pour generer le JSON, garantissant une confidentialite totale en n'envoyant aucune donnee au serveur.