UltKit

Convertisseur CSV en XML

Placez les lignes d'un fichier CSV dans des éléments XML pour qu'un programme qui ne lit que du balisage puisse les importer. La ligne d'en-tête donne le nom des balises, le délimiteur est détecté automatiquement et les caractères qui casseraient le XML sont échappés.

Convertisseur de données

ou déposez Fichiers CSV, TSV, TXT … ici ·

95 Mo max. par fichier· Jusqu'à 20 fichiers· Supprimés après 30 minutes

Sortie

Les fichiers sont traités sur nos serveurs et supprimés après 30 minutes.

Comment utiliser cet outil

  1. 1

    Importez le CSV

    Déposez un ou plusieurs fichiers .csv, .tsv ou .txt délimités, jusqu'à 20 à la fois et 95 Mo chacun. Les virgules, points-virgules, tabulations et barres verticales sont reconnus automatiquement.

  2. 2

    Définissez la balise racine

    Dans Réglages avancés, remplacez Balise racine XML (rows par défaut) par le nom attendu par votre import, par exemple catalog ou contacts. Choisissez un Encodage du texte si le CSV provient d'un ancien programme Windows.

  3. 3

    Convertissez en XML

    Cliquez sur Convertir en XML et téléchargez le fichier. Ouvrez-le d'abord dans un navigateur : s'il s'affiche sous forme d'arbre, il est bien formé.

Pourquoi convertir un CSV en XML

Le CSV est le format sous lequel les données quittent un système ; il n'a été consigné dans la RFC 4180 qu'en octobre 2005, des décennies après que les programmes ont commencé à l'échanger. Le XML est souvent le format dans lequel les données doivent arriver. Un concepteur de catalogues qui alimente Adobe InDesign, un développeur dont la feuille de style XSLT transforme des enregistrements en rapport HTML, un employé qui importe une liste de fournisseurs dans Microsoft Access : tous ont des lignes issues d'un export de tableur et un outil qui attend des balises.

Le faire à la main suppose un script ou un long rechercher-remplacer, et les deux oublient souvent les cas difficiles : un nom d'entreprise contenant une esperluette, un champ entre guillemets avec un saut de ligne, un fichier enregistré avec des points-virgules par une version européenne d'Excel. Le convertisseur analyse d'abord correctement le CSV, puis seulement écrit le balisage. Si les données sont encore dans un classeur, Excel en XML évite complètement l'étape CSV.

Exemple de conversion CSV en XML avec caractères échappés

CSV à points-virgules avec un champ entre guillemets et une esperluette, balise racine réglée sur suppliers
name;city;since
"Martin & Fils; SARL";Lille;1998
Nordlicht GmbH;Brême;2011

<?xml version="1.0" encoding="UTF-8"?>
<suppliers>
  <row>
    <name>Martin &amp; Fils; SARL</name>
    <city>Lille</city>
    <since>1998</since>
  </row>
  <row>
    <name>Nordlicht GmbH</name>
    <city>Brême</city>
    <since>2011</since>
  </row>
</suppliers>
XML bien forméBonne formation · XML analysable
XML qui respecte les règles de syntaxe de la spécification XML 1.0 : un seul élément racine, chaque balise ouvrante fermée, balises correctement imbriquées, valeurs d'attributs entre guillemets et caractères & et < échappés dans le texte. Un analyseur doit s'arrêter à la première erreur, si bien qu'une seule esperluette isolée peut faire rejeter tout un fichier. Bien formé n'est pas synonyme de valide, qui suppose aussi la conformité à un schéma comme un XSD.

Limites du convertisseur CSV en XML

fichiers CSV par lot
20
taille maximale d'un fichier
95 Mo
caractères pour la balise racine
64
avant l'effacement des fichiers importés
30 min

Caractéristiques des formats CSV et XML

CSV

Valeurs séparées par des virgules

Le CSV est un format texte brut pour les tableaux, où chaque ligne est une ligne du tableau et où des virgules séparent les colonnes. Il est utilisé depuis les débuts de l'informatique et décrit dans la RFC 4180, bien que de nombreuses variantes utilisent des points-virgules ou des tabulations et différents encodages de texte. Presque tous les tableurs, bases de données et outils d'analyse peuvent l'importer et l'exporter, ce qui en fait le format par défaut pour échanger des données entre systèmes. Le CSV ne stocke que des valeurs, sans formules, mise en forme, feuilles multiples ni types de données.

Compression
–
Transparence
–
Animation
–
Année de création
–
Convertisseur CSV

XML

Extensible Markup Language

Le XML est un langage de balisage pour les données structurées publié par le W3C en 1998. Il utilise des balises imbriquées avec des attributs et prend en charge les schémas, les espaces de noms et la validation, ce qui le rend robuste pour les documents complexes. Il sous-tend les flux RSS, le SVG, les documents Office, les sitemaps et de nombreux échanges de données en entreprise et dans l'administration. Le XML est verbeux comparé au JSON, mais tous les langages de programmation et de nombreux tableurs peuvent le lire.

Compression
–
Transparence
–
Animation
–
Année de création
1998 · W3C
Convertisseur XML

Le CSV devient du XML quand un export à plat doit entrer dans une chaîne fondée sur le balisage : un rapport XSLT, un outil de mise en page avec import XML, le chargeur XML d'une base de données ou une intégration dont l'analyseur rejette tout ce qui n'est pas bien formé.

Le compromis, c'est la structure contre la taille. Le CSV n'a ni types, ni imbrication, ni endroit dans le fichier pour indiquer son encodage, mais il est compact. Le XML répète deux fois chaque nom de colonne par ligne et déclare son encodage dès la première ligne. Quand le programme destinataire est moderne, le JSON est généralement plus léger que le XML ; JSON en XML traite le cas inverse, où une source JSON doit rejoindre un système uniquement XML.

FAQ sur la conversion CSV en XML

Quels programmes importent le XML créé à partir d'un CSV ?

Tout ce qui lit du XML générique : Microsoft Access via Données externes, l'import XML d'Adobe InDesign pour les mises en page pilotées par les données, les processeurs XSLT qui transforment les données en rapports, et les outils internes écrits avec un analyseur XML. Chaque ligne arrive sous forme d'élément row sous la balise racine que vous avez choisie.

Le destinataire attend product au lieu de row comme balise d'enregistrement. Puis-je la modifier ?

L'élément d'enregistrement s'appelle toujours row, et vous renommez l'élément externe avec Balise racine XML. Si un schéma strict nomme l'enregistrement autrement, un modèle XSLT d'une ligne ou un rechercher-remplacer sur <row> et </row> permet de le renommer.

Que deviennent les virgules et les guillemets dans une valeur ?

Le CSV est d'abord analysé selon ses règles de guillemets, donc « Smith, Jane » reste une seule valeur. Dans le XML, la virgule n'a pas besoin d'échappement, tandis que & et < deviennent &amp; et &lt;.

Le délimiteur compte-t-il pour un CSV à points-virgules issu d'Excel en version européenne ?

La détection automatique reconnaît les points-virgules, les tabulations et les barres verticales, en plus des virgules. Si un fichier compte très peu de colonnes et que la détection se trompe, réglez Séparateur sur Point-virgule, puis relancez la conversion.

Et si mon CSV n'a pas de ligne d'en-tête ?

Désactivez La première ligne contient les en-têtes. Les colonnes reçoivent alors des noms génériques dans l'ordre, et chaque ligne, y compris la première, devient un enregistrement. Renommez ensuite les balises, ou ajoutez une ligne d'en-têtes au CSV et convertissez à nouveau.

Le XML est-il plus lourd que le CSV ?

Oui, en général plusieurs fois plus volumineux, car chaque valeur est entourée d'une balise ouvrante et d'une balise fermante répétées à chaque ligne. Désactivez Mise en forme lisible pour supprimer l'indentation et les retours à la ligne si la taille compte, ou compressez le fichier en ZIP avant de l'envoyer.