Fonctionne sur votre appareil · Votre fichier ne quitte jamais votre appareil.
Déposez un CSV ou collez-le, et obtenez un document XML avec un élément <root>, un élément <item> par ligne et un élément enfant par colonne, nommé d’après l’en-tête. Le séparateur est détecté automatiquement (virgule, point-virgule, tabulation, barre verticale), les champs entre guillemets sont traités selon la RFC 4180, et un BOM UTF-8 est retiré.
Les noms de colonnes que XML ne peut pas utiliser comme noms d’éléments – avec des espaces, des symboles ou un chiffre en tête – sont assainis avec des tirets bas (« Prix unitaire » devient Prix_unitaire), pour que la sortie soit toujours bien formée. Les valeurs sont écrites en texte dans les éléments ; il n’y a pas d’attributs, ce qui garde le document simple pour n’importe quel analyseur.
Vous voyez les 200 premières lignes avant de télécharger, et la conversion se fait entièrement sur votre appareil.
Ne convient pas pour : Produire un XML conforme à un schéma précis (format bancaire, fiscal ou e-commerce) – les noms d’éléments viennent de vos en-têtes, pas d’un schéma.
XML garde toute valeur sous forme de texte : il n’y a rien à gagner à lire des nombres ou des true et false, et cette page ne le propose pas. Chaque valeur est écrite telle qu’elle figure dans le CSV : 1.50 reste 1.50, 1e3 reste 1e3, TRUE reste TRUE et le mot NULL reste NULL. Une cellule vide donne un élément vide, comme <note/>, et les zéros de tête, comme dans 007, sont gardés.
Les en-têtes en double ou vides sont d’abord corrigés : deux colonnes appelées nom deviennent <nom> et <nom_2>, et un troisième en-tête vide devient <column_3>. Ensuite, chaque nom est rendu valide pour XML. Total (EUR) devient Total__EUR_, car les espaces et les parenthèses se changent en tirets bas, et 1re devient _1re. Le trait d’union et le point sont admis : e-mail reste e-mail, et adresse.ville reste un seul élément portant ce nom ; il n’est pas découpé en éléments imbriqués. Les en-têtes écrits dans n’importe quelle écriture, arabe ou chinoise par exemple, sont gardés tels quels.
Deux en-têtes qui aboutissent au même nom, comme "a b" et "a_b", sont tous deux écrits <a_b> dans chaque <item>. Un programme qui lit les éléments par leur nom risque alors de ne voir que le premier : renommez d’abord l’un des deux dans le CSV.
Le texte est lu selon les mêmes règles que sur /csv-to-json, qui les explique avec des exemples : le fonctionnement des guillemets, la détection du séparateur, la reconnaissance de l’encodage du fichier, et le sort d’une ligne qui a plus ou moins de cellules que l’en-tête. Dans le XML, une cellule manquante devient un élément vide. Les cellules au-delà du dernier en-tête n’ont pas de nom d’élément : elles sont laissées de côté, et un message indique combien de lignes en avaient et où se trouve la première.
Les noms <root> et <item> sont fixes. Si un système attend d’autres noms, comme <clients> et <client>, remplacez-les dans un éditeur de texte après le téléchargement ; rien d’autre dans la structure n’a besoin de changer.
Cette page dans d’autres langues: English · العربية · Deutsch · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা