Convertir un CSV en XML
Enveloppez un tableau CSV dans un XML valide : vos propres noms de balises racine et ligne, colonnes en éléments ou attributs, en-têtes corrigés en noms de balises légaux.
Déposez vos fichiers ici
.csv, .tsv, .txt · jusqu’à 300 Mo
Plus de réglagesMoins de réglages
Comment convertir en XML
- 1
Déposez votre fichier CSV
Faites glisser un fichier .csv, .tsv ou .txt sur la page. Le séparateur et l’encodage des caractères sont déduits directement des octets.
- 2
Nommez les balises racine et ligne
Choisissez ce qui entoure le document et ce qui entoure chaque ligne : rows et row par défaut, ou catalog et product si c’est ce que le système cible lit.
- 3
Convertissez et téléchargez le XML
Cliquez sur le bouton et enregistrez un document bien formé, avec déclaration XML et indentation réelle.
En-têtes de colonnes qui ne peuvent pas être des balises
Les exports réels ont des en-têtes comme 2024 sales, order id ou une cellule vide, et aucun de ces textes n’est un nom XML valide. Supprimer une telle colonne ferait perdre des données. Le nom est donc corrigé selon les règles d’XML 1.0 : les caractères illégaux deviennent des underscores, un chiffre en première position reçoit un préfixe n, et les en-têtes vides deviennent column_1. Chaque renommage est listé.
Éléments ou attributs, et quand ce choix est ignoré
Chaque colonne peut devenir un élément enfant de la ligne ou un attribut porté par celle-ci. Les attributs produisent un document compact, mais les analyseurs XML transforment tout saut de ligne dans une valeur d’attribut en espace. Une colonne contenant du texte sur plusieurs lignes est donc toujours écrite comme élément, quel que soit le réglage, et l’outil indique de quelle colonne il s’agit.
Échappement et encodage à ne plus gérer à la main
Les esperluettes et chevrons présents dans vos données sont échappés, de même que les guillemets à l’intérieur des attributs, et les caractères de contrôle interdits par XML sont supprimés en étant comptés. Le résultat est toujours en UTF-8 sans marque d’ordre des octets, avec une déclaration XML qui l’indique, quel que soit l’encodage utilisé par le CSV d’origine.
Aucun envoi, aucun serveur, aucune copie
Le décodage du CSV, la correction des noms, l’échappement des valeurs et la sérialisation du document se font entièrement dans cet onglet de navigateur, dans le JavaScript livré avec la page. Votre fichier n’est jamais envoyé nulle part : une liste de prix ou un export de clients reste sur votre appareil pendant toute la conversion.
Questions fréquentes
Puis-je choisir moi-même les noms des balises ?
Oui, pour les deux. L’élément racine est rows par défaut et chaque enregistrement devient row, et vous pouvez remplacer l’un ou l’autre par tout nom valable, par exemple catalog et product, ou orders et order. Un nom qu’XML refuserait, par exemple un nom commençant par un chiffre, est rejeté d’emblée avec une suggestion corrigée, au lieu de produire un fichier cassé.
Les colonnes doivent-elles être des éléments ou des attributs ?
Les éléments sont le choix le plus sûr : ils acceptent tout texte, y compris les sauts de ligne, et la plupart des schémas les attendent. Les attributs donnent un document beaucoup plus court et conviennent à des identifiants courts, mais la valeur doit tenir sur une seule ligne. Choisissez la forme que le système lecteur du fichier exige.
Que devient un en-tête comme 2024 sales ?
Par défaut il est assaini en un nom de balise valide : l’espace devient un underscore et le chiffre initial reçoit un préfixe, ce qui donne n2024_sales. Une liste de chaque colonne renommée est affichée pour qu’aucun changement ne se fasse à votre insu. Si vous préférez être bloqué plutôt que corrigé, basculez le traitement des noms invalides sur erreur.
Mon CSV utilise des points-virgules et Windows-1251. Dois-je le convertir avant ?
Non. Point-virgule, tabulation, barre verticale et deux-points sont tous testés en plus de la virgule, et l’encodage est détecté à partir d’une marque d’ordre des octets ou, à défaut, par un contrôle strict d’UTF-8 avec repli sur Windows-1251 ou Windows-1252. Les deux paramètres peuvent être forcés manuellement si la détection ne correspond pas à votre fichier.
Les cellules vides sont-elles conservées dans le résultat ?
Par défaut une cellule vide devient un élément vide auto-fermant, ce qui garde la même structure pour chaque enregistrement et facilite le parcours côté lecteur. Passez le traitement des valeurs vides sur ignorer et l’élément est complètement omis, ce qui donne un document plus petit avec des enregistrements de formes variables.
Avec quel encodage le XML est-il écrit ?
Toujours en UTF-8, sans marque d’ordre des octets, avec une déclaration correspondante en tête de document. Cette combinaison correspond à ce que les analyseurs XML supposent et évite les divergences entre encodage déclaré et octets réels. La déclaration peut être désactivée pour des fragments destinés à être intégrés dans un document plus grand.
Deux de mes colonnes s’appellent id. Que se passe-t-il ?
La deuxième devient id_2 et la troisième id_3, car un lecteur parcourant les enfants d’un enregistrement n’aurait sinon aucun moyen de les distinguer. Les renommages apparaissent dans la même liste que les noms assainis.
Le fichier est-il envoyé sur un serveur pour être converti ?
Non. Tout s’exécute localement dans votre navigateur, sans serveur impliqué et sans copie de votre tableau conservée quelque part une fois l’onglet fermé.