CSV naar XML-converter

Moderne API’s werken vooral met JSON, maar veel bedrijfssystemen verwachten nog steeds XML: SOAP-services, productfeeds voor oudere marktplaatsen, SEPA-betaalbestanden en XBRL-rapportages. Deze converter neemt een CSV-bestand, laat je het root-element en het item-element per rij benoemen, en genereert een goed gevormd XML-document waarin elke kolomkop een onderliggend element binnen elke rij wordt. Speciale tekens worden geëscaped en ongeldige XML-tagnamen worden opgeschoond, zodat de uitvoer overal correct wordt geparseerd.

Hoe de XML wordt gegenereerd

  1. 1

    Plak de CSV

    Neem een kopregel op, zodat de converter weet hoe elk veldelement moet heten.

  2. 2

    Benoem het root- en item-element

    De standaardwaarden zijn `<items>` en `<item>`. Vervang ze door een naam die begint met een letter of een underscore.

  3. 3

    Tagnamen worden opgeschoond

    Niet-woordtekens worden underscores; tags die niet met een letter beginnen, vallen terug op een veilige standaardwaarde.

  4. 4

    Waarden worden geëscaped

    Ampersands, punthaken en aanhalingstekens binnen waarden worden vervangen door XML-entiteiten, zodat de uitvoer altijd geldig is.

Hoe de uitvoer eruitziet en waar hij werkt

Invoer-CSV

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

Uitvoer van XML met standaardwaarden

<?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>

Regels voor tagnamen (XML 1.0)

Toegestaan Niet toegestaan
Letters, cijfers, koppeltekens, underscores, punten Spaties, &, <, >, aanhalingstekens, haakjes, schuine strepen
Moet beginnen met een letter of een underscore Mag niet beginnen met een cijfer of leesteken
Het voorvoegsel xml is gereserveerd Tags die met xml beginnen, kunnen worden geweigerd

De converter vervangt ongeldige tekens in kopnamen stilletjes door underscores. Als een kop met een cijfer begint, valt de hele tag terug op field_N.

Escape-tabel

De waarden gaan door htmlspecialchars met ENT_XML1, waardoor deze tekens worden vervangen:

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

Veelvoorkomende vervolgtoepassingen

  • Productfeeds voor oudere marktplaatsen of prijsvergelijkingssites.
  • SOAP-requestbodies waarbij u voorbeeldpayloads moet genereren op basis van spreadsheetgegevens.
  • Eenvoudige schema’s in XBRL- of Dublin Core-stijl die een platte record koppelen aan benoemde elementen.
  • Android-stringbronnen, al moet u het geheel dan wel omhullen met <resources> en de item-elementen hernoemen tot <string name="...">.

Veelgestelde vragen

Niet-woordtekens worden vervangen door underscores, dus Product Name wordt Product_Name. Als de opgeschoonde naam niet met een letter of underscore begint, valt hij terug op field_N om XML-geldig te blijven.

Niet rechtstreeks: elk CSV-veld wordt een onderliggend element binnen het item. Voor attribuutgebaseerde XML moet u de uitvoer nabewerken of een schema-specifieke tool gebruiken.

Ja. De uitvoer begint met <?xml version="1.0" encoding="UTF-8"?>. Verwijder deze handmatig als u het fragment in een groter document plaatst.

Ja. De CSV die u plakt, wordt naar onze server gestuurd, omdat het parsen, het escapen en het samenstellen van de XML daar plaatsvinden. Hij wordt alleen gebruikt om de XML-uitvoer te genereren en wordt niet opgeslagen.

Gerelateerde tools