Convertisseur CSV vers XML
Collez des données CSV/TSV pour les convertir en XML, où chaque ligne devient un élément
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 `
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
- 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.
- 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é.
-
Examinez le XML produit
`
` se trouve au sommet et chaque enregistrement apparaît en dessous sous la forme d'un ` `.
- 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 (
&,<,>), 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
&, < et > en références d'entité de caractère (&, <, >) 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.
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.