araç köşesi

Convertir un XML en CSV

Transformez des enregistrements XML en tableau CSV ; la balise qui se répète devient la ligne automatiquement

Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.

Comment ça marche

Cas courant : votre boutique en ligne ou un fournisseur vous envoie le catalogue en XML, et vous voulez comparer les prix dans Excel. Ouvrez le fichier avec le Bloc-notes, copiez tout et collez-le dans le panneau de gauche ; le tableau apparaît aussitôt à droite. L'outil cherche d'abord la balise qui se répète. Avec 250 balises <produit>, chaque <produit> devient une ligne, et <nom>, <prix>, <stock> deviennent des colonnes. Une information écrite dans la balise elle-même, comme <produit id="101">, va dans une colonne @id ; une information imbriquée comme <fournisseur><ville>Casablanca</ville></fournisseur> va dans fournisseur.ville. Si un produit n'a pas de stock, la cellule reste vide et aucune ligne ne se décale. La ligne de résultat affiche par exemple « 250 lignes × 6 colonnes · balise de ligne choisie automatiquement : <produit> ». Excel en français attend un point-virgule, car la virgule y sert de séparateur décimal ; c'est donc le réglage par défaut. Les valeurs ne sont pas modifiées : 45,90 et un numéro comme 0522123456 restent tels quels, zéro initial compris.

Cet outil est aussi connu sous le nom de convertir xml en csv, xml en csv, xml to csv, convertir xml en tsv, convertisseur xml csv.

Qu'est-ce que XML ?

Le XML range les données dans des balises imbriquées : un <produit> peut contenir <nom>, <prix> et <fournisseur>, et le <fournisseur> contenir <ville>. Cet arbre n'entre pas tel quel dans une grille, car un enregistrement peut avoir une balise en double et le suivant aucune. Flux de produits, factures électroniques, relevés bancaires et échanges avec une administration utilisent souvent ce format. Pour en faire un tableau, on aplatit l'arbre : chaque chemin, comme fournisseur.ville, devient un nom de colonne.

Qu'est-ce que CSV ?

Le CSV est un tableau en texte brut : un enregistrement par ligne, des cellules séparées par un caractère. Tous les tableurs l'ouvrent, mais le séparateur n'est pas fixé. Excel en français attend un point-virgule, car la virgule sert aux décimales. Une marque UTF-8 (BOM) au début du fichier indique à Excel l'encodage ; sans elle, é, è et ç s'affichent en caractères illisibles.

Quelle est la différence entre XML et CSV ?

Le XML décrit une hiérarchie : une commande contient un client, le client une adresse, l'adresse une ville, et chaque valeur porte le nom de sa balise. Le CSV ne connaît que deux dimensions, lignes et colonnes. La conversion ne perd aucune valeur mais change la forme : l'imbriqué devient un long nom de colonne comme adresse.ville, une balise répétée dans un enregistrement devient des colonnes en plus comme tag_2. Pour filtrer, trier et additionner, le CSV est plus pratique ; pour renvoyer les données vers un système, il faut le XML.

Comment la ligne est choisie et où vont les données imbriquées

Le XML est un arbre, le CSV un tableau plat : toute la question est de savoir quelle balise forme une ligne. L'outil examine les balises présentes au moins deux fois sous le même parent, écarte celles qui se trouvent dans une autre balise répétée et garde la plus fréquente. Ainsi, trois <tel> dans chaque <personne> ne l'emportent pas sur deux <personne> : la ligne est <personne>, et les numéros se répartissent en tel, tel_2 et tel_3.

Si rien ne se répète (l'en-tête d'une seule facture, par exemple), tout le document forme une seule ligne, et la ligne de résultat le signale. Dans une facture électronique au format UBL, les lignes de facture sont dans cac:InvoiceLine ; taper InvoiceLine suffit, sans le préfixe cac:. Les noms de colonnes suivent une règle : balises imbriquées reliées par un point (fournisseur.ville), attributs précédés de @ (@id, fournisseur.@type). Les déclarations d'espace de noms (xmlns) ne deviennent jamais des colonnes.

  • <produit id="7"> → colonne @id
  • <adresse><ville>Tunis</ville></adresse> → colonne adresse.ville
  • Deux <tag> dans un même produit → colonnes tag et tag_2
  • Champ absent d'un enregistrement → cellule vide sur cette ligne

Point-virgule, virgule ou tabulation

Excel ne lit pas le séparateur dans le fichier : il prend celui des paramètres régionaux de l'ordinateur. En français, la virgule est le séparateur décimal, donc Excel attend un point-virgule ; un fichier séparé par des virgules s'y affiche en une seule longue colonne. Choisissez la virgule seulement pour un Excel en anglais, Google Sheets ou un logiciel qui l'exige.

La tabulation produit un fichier .tsv, que les bases de données lisent sans surprise et qui se colle proprement dans n'importe quel tableur. Une cellule qui contient le séparateur, un guillemet ou un retour à la ligne est placée entre guillemets doubles, et les guillemets intérieurs sont doublés. Rien n'est converti : le XML n'a pas de type nombre, 45,90 et les zéros initiaux restent du texte.

Questions fréquentes

Comment convertir un fichier XML en CSV pour Excel ?

Ouvrez le fichier XML avec le Bloc-notes, copiez tout son contenu et collez-le ici dans le panneau de gauche. La balise répétée devient la ligne, ses sous-balises les colonnes. Gardez le point-virgule et cliquez sur Télécharger ; un double clic sur le .csv l'ouvre dans Excel avec les bonnes colonnes et les accents intacts.

La mauvaise balise a été prise comme ligne. Que faire ?

La ligne de résultat indique la balise choisie. Tapez celle que vous voulez dans la case « Balise qui forme une ligne », par exemple produit ou InvoiceLine. Inutile d'écrire les chevrons ou un préfixe comme cac:. Si le nom n'existe pas dans le XML, le message d'erreur liste les balises trouvées.

Peut-on convertir un XML en TSV ?

Oui. Réglez « Caractère entre les colonnes » sur « Tabulation (TSV) » : Télécharger donne alors un fichier .tsv séparé par des tabulations. Le reste ne change pas : la balise de ligne, les noms de colonnes comme fournisseur.ville et les colonnes d'attributs.

Mon XML est-il envoyé sur un serveur ?

Non. La lecture et la conversion se font entièrement dans votre navigateur. Catalogues, fichiers clients ou factures que vous collez ne quittent pas cette page et ne sont enregistrés nulle part. Une fois la page chargée, la conversion fonctionne même sans connexion.