Comment convertir du XML en CSV (et l’ouvrir dans Excel)
Beaucoup de données arrivent en XML : exports de logiciels de boutique et de comptabilité, flux de produits, relevés bancaires, sitemaps et réponses d’anciens services web. Le XML est parfait pour les programmes, mais difficile à lire. Un tableur, c’est l’inverse : trier, filtrer, additionner une colonne. Un fichier CSV est le pont simple entre les deux, et tous les tableurs l’ouvrent.
Ce guide montre comment convertir avec le convertisseur XML en CSV gratuit : quel élément devient les lignes, ce que deviennent les attributs et les éléments répétés ou imbriqués, et comment ouvrir le résultat dans Excel sans accents cassés.
Ce que fait la conversion
Chaque enregistrement du XML devient une ligne, et chaque information qu’il contient, une colonne. Cette liste d’une boutique :
<?xml version="1.0" encoding="UTF-8"?>
<shop>
<book id="bk101" lang="en">
<title>XML & JSON for Everyone</title>
<author>Ada Lovelace</author>
<price currency="EUR">29.95</price>
<tag>data</tag>
<tag>web</tag>
</book>
<book id="bk102" lang="de">
<title>Daten für alle</title>
<author>Alan Turing</author>
<price currency="EUR">24.50</price>
<tag>data</tag>
</book>
</shop>devient ce CSV :
@id,@lang,title,author,price,price/@currency,tag
bk101,en,XML & JSON for Everyone,Ada Lovelace,29.95,EUR,data; web
bk102,de,Daten für alle,Alan Turing,24.50,EUR,dataLes noms de colonne montrent d’où vient chaque valeur :
@idet@langsont des attributs de<book>(les valeurs dans la balise elle-même).titleetauthorsont des éléments enfants.price/@currencyest l’attributcurrencyde<price>, juste à côté du prix.- Les deux éléments
<tag>sont réunis dans une cellule :data; web.
Le & du titre redevient un simple &, et les valeurs sont copiées telles quelles : 24.50 garde son zéro.
Convertir du XML en CSV, étape par étape
- Ouvrez le convertisseur XML en CSV et collez votre XML dans Entrée XML, cliquez sur Ouvrir un fichier ou déposez un fichier .xml dans le cadre. Exemple charge un exemple.
- Vérifiez Une ligne par. Le convertisseur choisit lui-même l’élément répété, et c’est presque toujours le bon (voir plus bas).
- Choisissez le Séparateur et les autres options, expliquées plus bas.
- Cliquez sur Convertir en CSV, puis téléchargez le fichier .csv ou copiez-le.
Une ligne sous le résultat indique ce que vous avez obtenu, par exemple 2 lignes × 7 colonnes, une ligne par <book>. Si le XML contient une erreur, le convertisseur indique plutôt sa ligne et sa colonne pour que vous puissiez la corriger.
Choisir ce qui devient une ligne
Le convertisseur cherche les éléments qui se répètent sous un même parent et propose le plus haut : les enregistrements, pas leurs détails. Pour la boutique ci-dessus, les choix sont :
Automatique : <book> (2)
shop/book (2)
shop/book/tag (3)Le nombre entre parenthèses est le nombre de lignes obtenues. Automatique choisit <book>, une ligne par livre. En choisissant shop/book/tag, vous obtenez une ligne par étiquette (trois lignes), pratique quand ce sont les détails que vous voulez compter. Si votre fichier contient plusieurs listes, comme des clients et des commandes, choisissez ici celle qu’il vous faut et convertissez l’autre à part.
Éléments répétés : une cellule ou des colonnes séparées
Un enregistrement peut contenir plusieurs fois le même élément, comme les deux étiquettes du premier livre. Éléments répétés décide de ce qui se passe :
- Réunis dans une cellule (par défaut) les assemble avec un point-virgule,
data; web, comme ci-dessus. Le mieux pour lire et filtrer. - Colonnes séparées donne à chacun sa propre colonne numérotée. Un enregistrement qui en a moins reçoit des cellules vides, et une note sous le résultat le signale :
@id,@lang,title,author,price,price/@currency,tag[1],tag[2]
bk101,en,XML & JSON for Everyone,Ada Lovelace,29.95,EUR,data,web
bk102,de,Daten für alle,Alan Turing,24.50,EUR,data,Éléments imbriqués et manquants
Les éléments dans d’autres éléments deviennent des colonnes nommées par leur chemin : le CSV reste plat. Un enregistrement auquel il manque un élément reçoit simplement des cellules vides dans ces colonnes :
<customers>
<customer id="7">
<name>Ada</name>
<address><city>London</city><zip>NW1</zip></address>
</customer>
<customer id="8">
<name>Alan</name>
</customer>
</customers>@id,name,address/city,address/zip
7,Ada,London,NW1
8,Alan,,Ouvrir le CSV dans Excel ou Google Sheets
- Séparateur : en France, en Belgique et en Suisse, Excel attend le plus souvent un point-virgule plutôt qu’une virgule, et affiche sinon tout dans une seule colonne. Choisissez alors Point-virgule dans Séparateur. Les valeurs qui contiennent le séparateur sont mises entre guillemets automatiquement et restent dans une cellule :
@id;@lang;title;author;price;price/@currency;tag
bk101;en;XML & JSON for Everyone;Ada Lovelace;29.95;EUR;"data; web"
bk102;de;Daten für alle;Alan Turing;24.50;EUR;data- Accents : le fichier est enregistré en UTF-8. Si des lettres comme é ou ü s’affichent mal après un double-clic, ouvrez le fichier dans Excel avec Données > À partir d’un fichier texte/CSV et choisissez 65001 : Unicode (UTF-8) comme origine du fichier. Google Sheets le lit correctement avec Fichier > Importer.
- Nombres avec des zéros : le CSV garde
007et24.50tels quels, mais les tableurs peuvent les afficher7et24,5. À l’import, réglez ces colonnes sur Texte pour les garder intacts.
Protection contre les formules de tableur
Une cellule qui commence par =, +, - ou @ peut s’exécuter comme une formule à l’ouverture du CSV dans un tableur, une astuce connue pour cacher des formules malveillantes dans des données exportées. Avec Protéger contre les formules de tableur activé (par défaut), ces valeurs reçoivent une apostrophe devant : =1+1 devient '=1+1 et s’affiche comme du texte. L’apostrophe apparaît aussi devant des valeurs comme les numéros de téléphone qui commencent par + ; désactivez l’option si le CSV part vers un autre programme plutôt qu’un tableur.
Autres outils XML
- Formateur XML : rendez d’abord le XML lisible, ou explorez-le dans la vue en arbre pour trouver les enregistrements.
- XML en JSON : garde l’imbrication au lieu de l’aplatir en tableau.
- CSV en XML : le chemin inverse. Voir comment convertir du CSV en XML.
Mon XML est-il envoyé ?
Non. La conversion se fait dans votre navigateur : vos données ne quittent jamais votre appareil. Notre serveur enregistre seulement qu’une conversion a eu lieu, pour la limite quotidienne.
Questions fréquentes
Puis-je convertir du XML directement en fichier Excel (.xlsx) ?
Convertissez-le en CSV, ouvrez le CSV dans Excel et choisissez Fichier > Enregistrer sous > Classeur Excel. Tous les tableurs ouvrent le CSV, c’est pourquoi le convertisseur écrit ce format.
Pourquoi mon CSV n’a-t-il qu’une ligne ?
Rien ne se répète dans le XML : tout le document forme un seul enregistrement. Si le fichier contient vraiment une liste, vérifiez Une ligne par et choisissez l’élément qui doit former les lignes.
Puis-je enlever les noms de colonne ?
Oui. Décochez Ligne d’en-tête et le CSV commence directement par les données, comme l’attendent certains imports.
Autres articles
- Comment convertir du JSON en XML (avec attributs)
- Comment convertir du HTML en Markdown (avec aide-mémoire)
- Comment convertir PNG en PDF (captures, logos et scans)
- Comment convertir WebP en PNG (quand une image ne s’ouvre pas)
- Comment faire un tableau en Markdown (syntaxe, alignement et générateur gratuit)