Convertisseur CSV vers XML

Collez des données CSV/TSV pour les convertir en XML, où chaque ligne devient un élément (format : valeur...).

Ce que fait cette conversion de CSV en XML

Les occasions de manipuler des données tabulaires en XML restent nombreuses : spécifications d'import de systèmes de gestion installés de longue date, alimentation des moteurs d'états, et un certain nombre d'API. Collez ici du CSV ou du TSV et cet outil le transforme en XML avec un enregistrement par ligne. La sortie adopte la forme limpide `valeur...`, prête à être confiée à XSLT ou à un analyseur.

La première ligne est lue comme un en-tête et chaque intitulé de colonne devient un nom de balise. XML restreint l'allure que peut prendre un nom de balise : **les intitulés qui commencent par un chiffre, qui sont vides ou qui contiennent des caractères interdits sont donc remplacés automatiquement par un nom numéroté tel que `column1` ou `column2`.** Les caractères `&`, `<` et `>` présents dans les valeurs sont échappés en références d'entité. Tout se déroule dans votre navigateur : les données que vous préférez n'envoyer nulle part — des fiches clients, par exemple — restent chez vous.

Comment convertir du CSV en XML

  1. Collez le CSV ou le TSV La première ligne sert d'intitulés et le reste de données. La séparation par tabulations est également acceptée.
  2. Vérifiez les noms de balise Les intitulés deviennent directement des noms de balise. Notez qu'un intitulé qui ne peut pas former un nom valide est remplacé par un nom numéroté.
  3. Examinez le XML produit `` se trouve au sommet et chaque enregistrement apparaît en dessous sous la forme d'un ``.
  4. Copiez-le pour l'étape suivante Utilisez-le tel quel en entrée d'un système qui consomme du XML, ou comme source d'une transformation XSLT.

Astuces pour en tirer le meilleur parti

  • En activant « Traiter la première ligne comme en-tête », les noms de colonnes de la ligne d'en-tête sont directement utilisés comme noms de balises XML (les en-têtes qui ne sont pas des noms de balise XML valides — par exemple ceux commençant par un chiffre ou contenant des symboles — basculent automatiquement vers `column1`, `column2`, etc.).
  • Si vous n'utilisez pas d'en-têtes, toutes les lignes sont traitées comme des données et chaque colonne devient une balise `column1`, `column2`, etc.
  • Utilisez cet outil lorsqu'une API héritée basée sur XML, une intégration SOAP ou certains systèmes d'entreprise exigent du XML plutôt que du CSV pour l'import de données.
  • Le XML généré échappe en toute sécurité les caractères spéciaux via des références d'entité de caractère (&amp;, &lt;, &gt;), ce qui permet de l'importer directement dans des systèmes externes.

Dans quels cas cela sert

Charger dans un système qui n'accepte que du XML

Met les données préparées dans un tableur sous une forme qu'un système central attendant du XML acceptera.

Produire une source de données pour un moteur d'états

Beaucoup de moteurs d'états prennent du XML comme source, et l'on passe ainsi d'un CSV à une maquette en peu de temps.

Préparer des données d'exercice pour XSLT

Au moment d'écrire une feuille de transformation, vous obtenez un XML d'exemple à partir d'un tableau déjà en votre possession.

Voir la structure de ses propres yeux

Regarder la correspondance entre colonnes et valeurs sous forme d'imbrication XML rend parfois l'organisation plus lisible que le CSV brut.

Les termes de la conversion CSV vers XML

Contraintes sur le nom de balise
Un nom de balise XML doit commencer par une lettre ou un tiret bas et ne peut contenir ni espace ni la plupart des signes de ponctuation. **Les intitulés qui ne le respectent pas sont remplacés automatiquement par des noms du type `column1`.**
Référence d'entité
Réécrire `&`, `<` et `>` en `&`, `<` et `>`. **L'esperluette doit être convertie en premier, faute de quoi le résultat se trouve doublement échappé.**
L'élément row
L'élément qui représente un enregistrement. Cet outil imbrique les éléments `` dans un unique ``.
TSV
Des données tabulaires séparées par des tabulations. Une copie depuis un tableur produit généralement ce format.
Ligne d'en-tête
Les intitulés de colonnes de la première ligne. Comme les noms de balise en découlent, les écrire avec des lettres, des chiffres et des tirets bas garde la sortie lisible.

Questions fréquentes

De nombreux services web basés sur SOAP, ainsi que de nombreux systèmes d'entreprise et systèmes centraux en service depuis longtemps, ont adopté XML comme format de données standard bien avant que JSON ne se généralise, et reposent toujours sur XML pour l'échange de données. Il existe donc encore un besoin réel de convertir du CSV en XML lors de l'intégration avec ces systèmes.

Les noms de balise XML doivent respecter des règles de nommage, comme ne pas commencer par un chiffre ou ne pas contenir certains symboles. Si un nom d'en-tête enfreint ces règles (par exemple un nom de colonne commençant par un chiffre, ou contenant des espaces ou des symboles), il ne pourra pas être analysé comme du XML valide. Dans ce cas, cet outil bascule automatiquement vers un nom de balise sûr tel que `column1`, `column2`, etc.

Ils utilisent tous la même logique d'analyse CSV, mais produisent des formats de sortie différents. Nous proposons une série d'outils de conversion CSV — JSON, SQL, Markdown, HTML et XML — afin que vous puissiez choisir le format de sortie adapté à votre système cible ou à votre cas d'usage.

Cet outil échappe automatiquement les caractères spéciaux XML tels que &, < et > en références d'entité de caractère (&amp;, &lt;, &gt;) avant la sortie, de sorte que même si les valeurs des cellules contiennent ces caractères, le résultat produit est un XML valide et analysable.
Tool-kun

Anecdote — Pourquoi XML a fini par être qualifié de « verbeux »

XML (Extensible Markup Language) a été normalisé par le W3C en 1998 et, au début des années 2000, occupait une position dominante dans l'industrie du web en tant que « format standard pour l'échange de données entre systèmes ». On le retrouvait partout — des protocoles de communication comme SOAP et XML-RPC, à la diffusion de flux RSS et Atom, jusqu'aux fichiers de configuration comme le pom.xml de Maven.

Cependant, comme XML exige une balise d'ouverture et de fermeture explicite pour chaque élément, il tend à produire un volume de données plus important que JSON (qui s'est popularisé à partir du milieu des années 2000) pour représenter les mêmes données, ce qui lui a valu la réputation d'être « verbeux ». Par exemple, le JSON `{"name":"Alice"}` correspond au XML <name>Alice</name>, où les balises elles-mêmes peuvent facilement occuper plus de caractères que les données proprement dites.

Malgré tout, XML propose un ensemble de spécifications matures que JSON n'a pas, notamment une validation stricte du type et de la structure via XML Schema, l'évitement des collisions grâce aux espaces de noms, et la transformation via XSLT. Cet écosystème riche de validation et de transformation est l'une des raisons pour lesquelles XML continue d'être choisi pour l'intégration de systèmes critiques dans la finance, la santé et l'administration.