Convertisseur CSV en XML

Les API modernes préfèrent JSON, mais de nombreux systèmes d’entreprise s’attendent encore à du XML : services SOAP, flux de produits pour les anciennes places de marché, fichiers de paiement SEPA, déclarations XBRL. Ce convertisseur prend un CSV, vous permet de nommer l’élément racine et l’élément par ligne, et produit un document XML bien formé où chaque en-tête devient un élément enfant à l’intérieur de chaque ligne. Les caractères spéciaux sont échappés et les noms de balises XML invalides sont assainis afin que la sortie soit analysable partout.

Comment l'XML est généré

  1. 1

    Collez le CSV

    Incluez une ligne d'en-tête afin que le convertisseur sache comment nommer chaque élément de champ.

  2. 2

    Nommez la racine et l'élément

    Les valeurs par défaut sont `<items>` et `<item>`. Remplacez par tout ce qui commence par une lettre ou un underscore.

  3. 3

    Noms de balises assainis

    Les caractères non alphanumériques deviennent des underscores ; les balises qui ne commencent pas par une lettre reviennent à une valeur par défaut sécurisée.

  4. 4

    Valeurs échappées

    Les esperluettes, les chevrons et les guillemets à l'intérieur des valeurs sont remplacés par des entités XML afin que la sortie soit toujours valide.

À quoi ressemble la sortie et où elle fonctionne

CSV d’entrée

sku,name,price
A-101,Widget,9.99
B-202,Gadget,14.50

XML de sortie avec valeurs par défaut

<?xml version="1.0" encoding="UTF-8"?>
<items>
  <item>
    <sku>A-101</sku>
    <name>Widget</name>
    <price>9.99</price>
  </item>
  <item>
    <sku>B-202</sku>
    <name>Gadget</name>
    <price>14.50</price>
  </item>
</items>

Règles de nom de balise (XML 1.0)

Autorisé Non autorisé
Lettres, chiffres, tirets, underscores, points Espaces, &, <, >, guillemets, parenthèses, barres obliques
Doit commencer par une lettre ou un underscore Ne peut pas commencer par un chiffre ou une ponctuation
Le préfixe xml est réservé Les balises commençant par xml peuvent être rejetées

Le convertisseur remplace silencieusement les caractères illégaux dans les noms d’en-tête par des underscores. Si un en-tête commence par un chiffre, toute la balise revient à field_N.

Tableau d’échappement

Les valeurs passent par htmlspecialchars avec ENT_XML1, donc ces caractères sont remplacés :

  • &&amp;
  • <&lt;
  • >&gt;
  • "&quot;
  • '&apos;

Utilisations courantes en aval

  • Flux de produits pour les anciennes places de marché ou les sites de comparaison de prix.
  • Corps de requêtes SOAP où vous devez générer des charges utiles d’exemple à partir de données de tableur.
  • Schémas simples de type XBRL ou Dublin Core qui mappent un enregistrement plat sur des éléments nommés.
  • Ressources de chaînes Android, bien que vous deviez envelopper le tout dans <resources> et renommer les éléments à <string name="...">.

Questions fréquentes

Les caractères non alphanumériques sont remplacés par des underscores, donc Product Name devient Product_Name. Si le nom assaini ne commence pas par une lettre ou un underscore, il revient à field_N pour rester valide en XML.

Pas directement, chaque champ CSV devient un élément enfant à l’intérieur de l’élément. Pour un XML basé sur des attributs, vous devrez post-traiter la sortie ou utiliser un outil spécifique au schéma.

Oui. La sortie commence par <?xml version="1.0" encoding="UTF-8"?>. Retirez-la manuellement si vous intégrez le fragment dans un document plus grand.

Oui. Le CSV que vous collez est envoyé à notre serveur, car l’analyse, l’échappement et l’assemblage XML s’y déroulent. Il sert uniquement à produire le résultat XML et n’est pas conservé.

Outils similaires