ToolPal
Éditeur de code affichant des données structurées

Conversion XML vers JSON : Guide pratique pour les développeurs

📷 Pixabay / Pexels

Conversion XML vers JSON : Guide pratique pour les développeurs

XML donne l'impression de venir d'une autre ère, mais vous le rencontrez encore quotidiennement dans les API, fichiers de config et flux de données. Voici comment le convertir sans perdre la raison.

8 avril 20268 min de lecture

Toutes les quelques années, la communauté des développeurs s'emballe pour déclarer XML mort. Et puis vous décrochez votre premier contrat d'intégration enterprise, ou vous récupérez un flux RSS, ou regardez un fichier de layout Android, ou quelqu'un vous tend une réponse SOAP API de la taille d'un petit roman — et voilà. XML. Toujours bien vivant.

Ce guide ne porte pas sur la question de savoir si XML est bon ou mauvais. Il traite du problème pratique auquel vous faites face quand vous avez des données XML et que vous avez besoin de JSON — pour les injecter dans une API moderne, les parser en JavaScript, ou juste les rendre lisibles. Allons-y.

Pourquoi vous rencontrez encore XML en 2026

XML était le format d'échange de données dominant de la fin des années 1990 et des années 2000. JSON l'a largement remplacé pour les API web dans les années 2010, mais XML n'a jamais disparu — il s'est simplement replié là où il était déjà bien établi.

Voici où vous rencontrez encore XML régulièrement :

Flux RSS et Atom. Chaque grand site d'information, plateforme de podcast et blog publie encore un flux RSS en XML. Si vous construisez un agrégateur de contenu, un lecteur de news ou une app de podcast, vous travaillez avec XML.

Web services SOAP. Beaucoup de systèmes enterprise et gouvernementaux utilisent des API SOAP basées sur XML. Intégrations bancaires, systèmes d'assurance, API médicales, transporteurs — SOAP est omniprésent dans les logiciels B2B.

Maven et Gradle (outils de build Java/Kotlin). Les fichiers pom.xml. Si vous touchez un projet JVM, vous touchez XML. L'AndroidManifest.xml et les fichiers de layout Android sont aussi XML.

Formats Microsoft Office. DOCX, XLSX, PPTX sont des archives ZIP contenant du XML. La génération ou le parsing programmatique de documents implique souvent du XML sous le capot.

SVG. Les Scalable Vector Graphics sont XML. Si vous travaillez programmatiquement avec des images vectorielles, vous êtes en territoire XML.

Salesforce. Le SOQL et le Bulk API v1 de Salesforce produisent tous deux du XML.

Le schéma est clair : le développement web moderne penche fortement vers JSON, mais dès que vous approchez des intégrations enterprise, des flux de données ou des écosystèmes plus anciens, XML apparaît.

Ce qui rend XML pénible à utiliser

Si vous êtes habitué à JSON, XML semble profondément agaçant. Voici pourquoi.

Verbosité. Comparez :

{"user": {"id": 1, "name": "Alice", "active": true}}

versus :

<user>
  <id>1</id>
  <name>Alice</name>
  <active>true</active>
</user>

Les deux transmettent les mêmes données. Le XML est plus long, plus difficile à lire d'un coup d'oeil, et plus sujet aux erreurs lorsqu'on l'écrit à la main.

Ambiguïté attributs/éléments. XML vous permet de représenter des données soit comme un attribut (<user id="1">) soit comme un élément enfant (<id>1</id>). Les deux sont valides, et différents schémas XML font différents choix. Cette inconsistance signifie que vous ne pouvez pas prédire la structure sans lire le schéma.

Espaces de noms. Les espaces de noms XML permettent à des noms d'éléments de différents vocabulaires de coexister sans collision. Puissant et nécessaire pour les documents complexes, mais un casse-tête quand vous essayez d'extraire des valeurs simples.

Contenu mixte. XML supporte du texte mélangé avec des éléments enfants :

<p>Ce texte est <em>important</em>.</p>

Cela ne se mappe pas proprement vers JSON.

C'est pour toutes ces raisons que travailler avec XML en JavaScript ou Python nécessite une vraie bibliothèque XML, pas du parsing de chaînes. Et c'est pourquoi convertir vers JSON — quand la structure le permet — rend les données bien plus faciles à manipuler.

Comment JSON modélise les données différemment

JSON a un modèle de types plus simple et plus rigide :

  • Strings"hello"
  • Nombres42, 3.14
  • Booléenstrue, false
  • Nullnull
  • Tableaux[1, 2, 3]
  • Objets{"key": "value"}

Tout dans JSON est l'un de ces six types. Pas de concept d'attributs, d'espaces de noms, de contenu mixte ou d'instructions de traitement. Cette simplicité est la raison pour laquelle JSON a gagné pour la conception d'API — il n'y a qu'une seule façon de représenter les données.

Utiliser l'outil XML vers JSON

Le convertisseur XML vers JSON gère la conversion directement dans votre navigateur — aucune donnée envoyée à un serveur, aucune installation nécessaire.

Utilisation de base :

  1. Collez votre XML dans le panneau gauche
  2. Cliquez sur Convertir (ou la conversion est automatique)
  3. La sortie JSON apparaît à droite
  4. Copiez le JSON et utilisez-le où vous en avez besoin

Pour un document XML simple comme :

<?xml version="1.0" encoding="UTF-8"?>
<person>
  <name>Alice</name>
  <age>30</age>
  <email>alice@example.com</email>
</person>

Vous obtenez du JSON propre :

{
  "person": {
    "name": "Alice",
    "age": "30",
    "email": "alice@example.com"
  }
}

Notez que age est une chaîne dans la sortie JSON ("30" pas 30). XML n'a pas de type numérique — tout est du texte.

La convention du préfixe d'attribut

Quand un élément XML a des attributs, ils apparaissent dans la sortie JSON avec un préfixe @ :

<book id="123" lang="en">
  <title>Clean Code</title>
  <author>Robert Martin</author>
</book>

Converti en :

{
  "book": {
    "@id": "123",
    "@lang": "en",
    "title": "Clean Code",
    "author": "Robert Martin"
  }
}

Le préfixe @ est une convention largement utilisée (originaire de la convention Badgerfish et utilisée dans plusieurs bibliothèques populaires de conversion XML-JSON). Il distingue les attributs des éléments enfants dans la structure JSON. En code, vous accédez à data.book["@id"] pour la valeur de l'attribut.

Les éléments répétés deviennent des tableaux

L'un des comportements de conversion les plus importants (et potentiellement surprenants) : quand la même balise apparaît plusieurs fois au même niveau, elle devient un tableau JSON.

<library>
  <book>
    <title>Clean Code</title>
  </book>
  <book>
    <title>The Pragmatic Programmer</title>
  </book>
  <book>
    <title>Refactoring</title>
  </book>
</library>

Converti en :

{
  "library": {
    "book": [
      {"title": "Clean Code"},
      {"title": "The Pragmatic Programmer"},
      {"title": "Refactoring"}
    ]
  }
}

C'est correct et utile. Mais cela crée une inconsistance : si la bibliothèque n'avait qu'un seul livre, book serait un objet, pas un tableau. Cela fait trébucher beaucoup de code qui suppose que la structure JSON est toujours cohérente.

Si vous écrivez du code pour consommer ce JSON converti, gérez toujours le cas où un champ pourrait être soit un objet soit un tableau. En JavaScript, Array.isArray(data.library.book) avant d'accéder aux positions d'index.

Quand la conversion n'est pas parfaite

Certaines fonctionnalités XML ne se traduisent pas proprement en JSON.

Espaces de noms. Les déclarations d'espace de noms (xmlns="...") peuvent ou non être préservées selon le convertisseur.

Sections CDATA. La plupart des convertisseurs extraient le contenu textuel des blocs CDATA. Si le contenu CDATA contenait du balisage intentionnel ou des caractères spéciaux, vérifiez soigneusement la sortie.

Instructions de traitement et commentaires XML. Généralement supprimés.

Contenu mixte. Le cas le plus difficile. Les convertisseurs gardent typiquement uniquement les valeurs des éléments enfants, perdant le texte environnant.

Pour l'échange de données simple — APIs, configuration, flux de données — ces cas limites importent rarement. Pour le XML centré sur les documents (gestion de contenu, documentation technique), il faut en être conscient.

Cas d'utilisation pratiques

Consommer une réponse d'API SOAP

La conversion d'une réponse SOAP vous donne une structure JSON avec laquelle vous pouvez travailler en JavaScript sans une bibliothèque SOAP complète. Les préfixes de namespace (soap:) apparaissent dans les noms de clés. Pour l'extraction rapide de données, c'est souvent suffisant.

Parser un flux RSS

Les flux RSS sont des documents XML avec une structure prévisible. La conversion en JSON facilite grandement le travail en JavaScript moderne. Après conversion, data.rss.channel.item est un tableau d'articles que vous pouvez parcourir directement.

Lire des fichiers de ressources Android

Les fichiers de ressources strings.xml d'Android sont XML. La conversion en JSON facilite le traitement de ces fichiers dans des scripts de build ou des outils sans SDK Android complet.

Pour la conversion programmatique

Si vous devez convertir XML en JSON de façon répétée dans du code, le rapide outil navigateur n'est pas la réponse. Voici les options :

JavaScript/Node.js : fast-xml-parser est la bibliothèque la plus utilisée, rapide et configurable. xml2js est plus ancienne mais toujours populaire.

const { XMLParser } = require('fast-xml-parser');
const parser = new XMLParser({ ignoreAttributes: false, attributeNamePrefix: '@' });
const result = parser.parse(xmlString);

Python : xmltodict convertit XML en dictionnaires Python (qui se mappent proprement en JSON).

import xmltodict, json
result = xmltodict.parse(xml_string)
json_output = json.dumps(result, indent=2)

Go : encoding/xml est dans la bibliothèque standard, bien que l'API nécessite des définitions de struct. github.com/clbanning/mxj fournit une conversion dynamique similaire à xmltodict.

Pour les conversions ponctuelles ou le débogage, l'outil XML vers JSON est plus rapide que d'écrire l'un de ces codes. Pour les pipelines de production, choisissez une bibliothèque adaptée à votre langage et configurez-la une fois.


XML ne va nulle part — la base installée de systèmes XML est énorme et les entreprises ne réécrivent pas une infrastructure fonctionnelle selon un calendrier. La compétence pratique est de savoir comment travailler efficacement avec lui quand il se présente, plutôt que de vous battre contre lui à chaque fois.

Outils connexes pour travailler avec des données structurées :

  • Formateur XML — formater, valider et embellir le XML
  • Formateur JSON — nettoyer la sortie JSON après conversion
  • JSON Diff — comparer deux structures JSON pour repérer les changements

Questions Fréquentes

Partager

XLinkedIn

Articles associés