Ouvrez ou collez un fichier CSV pour obtenir un XML bien formé : un élément racine, un élément de ligne par enregistrement, et chaque valeur sous forme d’élément enfant ou d’attribut. Les en-têtes qui ne sont pas des noms XML autorisés, comme Order ID ou 2024 total, sont renommés, et chaque renommage est listé. La conversion a lieu dans votre navigateur, sans jamais envoyer le fichier.
Convertir un CSV en XML, étape par étape
- Cliquez sur Ouvrir un fichier, déposez un fichier
.csv,.tsvou.txtsur l’outil, ou choisissez Coller. Si les colonnes semblent fausses, vérifiez le séparateur et l’encodage dans Paramètres d’importation. - Nommez l’Élément racine et l’Élément de ligne (
rowsetrowpar défaut) selon ce qu’attend le système destinataire. - Réglez Valeurs en, le traitement des valeurs vides, l’Indentation et la déclaration, puis choisissez Copier ou Télécharger en XML.
Si le système qui lira le fichier attend des noms de balises précis, renommez d’abord les colonnes du CSV avec Renommer et réorganiser les colonnes d’un CSV : aucun renommage automatique ne sera alors nécessaire.
Options de structure XML
| Éléments enfants | Le réglage par défaut : <row><Customer>Smith & Sons</Customer>…</row>. Conserve les sauts de ligne des valeurs et convient à la plupart des outils d’import. |
|---|---|
| Attributs | Un élément auto-fermant par ligne : <row Customer="Smith & Sons" …/>. Format compact ; les tabulations et sauts de ligne des valeurs sont écrits 	, et pour qu’un analyseur XML les conserve. |
| Omettre les valeurs vides | Désactivé par défaut : une cellule vide devient un élément vide comme <Ship_date/>. Activé, l’élément ou l’attribut est omis pour cette ligne. |
| Indentation | 2 espaces (par défaut), 4 espaces, ou Aucune (minifié), qui écrit tout le document sur une seule ligne. |
| Ajouter la déclaration XML | Activé par défaut : la première ligne est <?xml version="1.0" encoding="UTF-8"?>. Désactivez cette option si le XML doit être intégré à un autre document. |
Les noms de la racine et des lignes suivent les mêmes règles que les en-têtes ; une saisie vide ou invalide revient à rows ou row, ou reçoit un trait de soulignement en préfixe.
Comment les noms de colonnes deviennent des noms XML
- Les espaces deviennent
_, ainsi que tout caractère autre que lettres, chiffres,.,-et_:Total (EUR)→Total__EUR_,e-mail:work→e-mail_work. Les deux-points sont remplacés : aucun préfixe d’espace de noms n’est donc créé. - Un nom qui commence par un chiffre,
.ou-reçoit un trait de soulignement en tête (2024 total→_2024_total) ; de même pour un nom qui commence parxml, quelle que soit la casse, car XML réserve ce préfixe (xml_ref→_xml_ref). - Si deux en-têtes aboutissent au même nom, le second reçoit
_2(a beta_b→a_b,a_b_2). Les noms XML sont sensibles à la casse :Nameetnamerestent distincts. - Les lettres de toutes les écritures sont conservées :
Größeet価格sont des noms XML valides. Un en-tête vide devient d’abordColumn 7, puisColumn_7. - Chaque renommage est listé sous les options au format
old → new(ancien → nouveau), et un avertissement au-dessus de l’aperçu en donne le nombre.
Comment les valeurs sont écrites
&,<et>sont échappés dans le texte des éléments ; dans les attributs,"l’est aussi. Pour le reste, les valeurs sont écrites exactement comme dans le CSV :00731garde ses zéros et aucun type n’est deviné.- XML 1.0 interdit la plupart des caractères de contrôle (U+0000–U+001F, sauf tabulation, saut de ligne et retour chariot), U+FFFE, U+FFFF et les demi-codets d’indirection isolés, même échappés. Ils sont supprimés et le nombre de valeurs concernées est affiché.
- Les virgules, guillemets et sauts de ligne entre guillemets sont lus selon la RFC 4180 ; un saut de ligne reste un vrai saut de ligne dans un élément enfant.
- Le résultat est toujours en UTF-8.
Quand un analyseur XML ou une importation refuse le fichier
- Mon outil d’import ne trouve pas un champ. Il a probablement été renommé. Consultez la liste sous les options, puis renommez la colonne dans le CSV ou adaptez la correspondance dans le système destinataire.
- Un analyseur XML signale une erreur d’encodage. Ouvrez le fichier source avec son véritable encodage dans les paramètres d’importation : le XML n’est en UTF-8 correct que si le CSV a été décodé correctement.
- Tout se retrouve dans un seul élément. Le séparateur a été mal deviné ; choisissez Virgule, Point-virgule, Tabulation ou Barre verticale dans les paramètres d’importation.
- Il me faut du CDATA, des espaces de noms ou un schéma. Le convertisseur écrit uniquement des éléments et des attributs simples ; ajoutez ces éléments dans une étape ultérieure.
Limites et confidentialité
Les fichiers jusqu’à 25 Mo, 100 000 lignes ou 2 millions de cellules s’ouvrent avec un aperçu en direct des 200 premières lignes. Les fichiers plus gros sont convertis en flux : le fichier est lu deux fois par morceaux (une fois pour mesurer les colonnes, une fois pour écrire), un avertissement précise que le téléchargement couvre tout le fichier, et Copier n’est pas proposé. Un fichier produit est plafonné à 4 Go.
La conversion s’exécute dans un worker en arrière-plan, dans cet onglet : la page reste réactive et Annuler l’interrompt. Le CSV n’est jamais envoyé sur un serveur.
Exemple : un export de commandes dont les en-têtes doivent être renommés
Un export de commandes avec des espaces et des parenthèses dans les en-têtes, une esperluette, des chevrons et une date vide, converti avec les réglages par défaut. Trois en-têtes sont renommés ; la valeur vide de Ship date devient <Ship_date/>.
Order ID,Customer,Total (EUR),Ship date 10071,"Smith & Sons",249.00,2025-02-03 10072,"Café <Lumière>",18.50,
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<Order_ID>10071</Order_ID>
<Customer>Smith & Sons</Customer>
<Total__EUR_>249.00</Total__EUR_>
<Ship_date>2025-02-03</Ship_date>
</row>
<row>
<Order_ID>10072</Order_ID>
<Customer>Café <Lumière></Customer>
<Total__EUR_>18.50</Total__EUR_>
<Ship_date/>
</row>
</rows>Questions fréquentes
Pourquoi le nom de ma colonne a-t-il changé ?
Un nom d’élément XML ne peut contenir ni espaces ni la plupart des signes de ponctuation, et ne peut commencer ni par un chiffre ni par xml. Le convertisseur applique la plus petite modification qui donne un nom valide et unique, et liste chacune d’elles.
Faut-il utiliser des éléments ou des attributs ?
Utilisez des éléments enfants, sauf si le système destinataire demande des attributs. Les éléments conservent les sauts de ligne tels qu’ils sont écrits ; les analyseurs XML normalisent les blancs dans les valeurs d’attribut, c’est pourquoi le convertisseur encode les tabulations et les sauts de ligne en références de caractères.
Les nombres ou les dates reçoivent-ils un type ?
Non. XML n’a pas de types de valeurs intégrés : chaque valeur est écrite sous forme du texte du CSV. Les types viennent du schéma ou du programme qui lit le fichier.