Vad är detta verktyg?
Vissa system (äldre företagsprogramvara, vissa SOAP-baserade API:er, RSS-närliggande flöden) förväntar sig data som XML, medan kalkylblad och de flesta dataimportverktyg förväntar sig CSV. Det här verktyget flyttar data mellan de två formaten: CSV → XML omsluter varje rad i ett <row>-element inuti ett rot-<rows>-element, där varje kolumn blir en underliggande tagg uppkallad efter rubriken; XML → CSV gör det omvända, och extraherar en kolumn per unikt underliggande taggnamn den hittar.
CSV-sidan tolkas med en riktig citerad-fält-parser (inte en naiv uppdelning på kommatecken), så värden som innehåller kommatecken, radbrytningar eller inbäddade citattecken hanteras korrekt. XML-sidan tolkas med webbläsarens inbyggda DOMParser-API — samma gränssnitt webbläsare använder internt för att tolka XML-dokument — istället för en handskriven regex-baserad läsare, så nästlade taggar och standard-XML-escaping hanteras på samma sätt som en riktig XML-parser hanterar dem.
Kolumn-/taggnamn som inte är giltiga XML-elementnamn (innehåller mellanslag, börjar med en siffra osv.) saneras automatiskt vid generering av XML, eftersom XML-elementnamn har striktare regler än CSV-rubriker.
Källa: CSV-tolkningen följer RFC 4180; XML-strukturen följer W3C XML 1.0-specifikationen.
Varför använda det?
- Fungerar åt båda hållen — CSV till XML och XML till CSV, i ett verktyg.
- Korrekt CSV-tolkning — hanterar citerade fält med kommatecken, radbrytningar och escapade citattecken, inte bara en naiv uppdelning på kommatecken.
- Standardbaserad XML-tolkning — XML → CSV använder webbläsarens inbyggda DOMParser istället för en egen regex-parser, så felaktig XML rapporteras som ett fel istället för att tyst producera skräp.
- Automatisk XML-escaping — specialtecken som & och < i dina CSV-värden escapas korrekt vid generering av XML.
- 100 % klientsidan — inget du klistrar in här laddas upp till en server.
Så använder du det
- Klistra in CSV-data (med en rubrikrad) eller XML-data i rutan.
- Klicka på "CSV → XML" för att generera XML, eller "XML → CSV" för att konvertera XML tillbaka till en tabell.
- Granska utdata — kopiera den eller ladda ner den som en fil.
- För CSV → XML blir varje rad ett <row>-element med en tagg per kolumn, insvept i en <rows>-rot.
Exempel
Inmatning
name,age
Alice,30
Bob,25Resultat
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<name>Alice</name>
<age>30</age>
</row>
<row>
<name>Bob</name>
<age>25</age>
</row>
</rows>Varje CSV-rad blir ett <row>-element, och varje kolumn blir en underliggande tagg uppkallad efter rubriken — kör den här XML:en tillbaka genom "XML → CSV" och du återskapar den ursprungliga tvåkolumnstabellen.
Praktiska tips
- Mata in data i ett äldre system eller SOAP-API som förväntar sig XML: konvertera din CSV-export här först, klistra sedan in XML-utdata direkt i målsystemet.
- Granska en XML-export du fått: kör XML → CSV för att få en snabb, läsbar tabellvy utan att behöva en fullständig XML-redigerare.
- Om din XML använder djupt nästlade element istället för en platt <row><column>-struktur kommer det här verktyget inte att platta ut godtycklig nästling — det förväntar sig en nivå av radelement, var och en innehållande enkla kolumnelement.
Varför DOMParser istället för en handskriven XML-läsare
XML har riktiga strukturella regler — nästlade element, attributcitering, teckenescaping för &, <, > och så vidare — som en snabb regex-baserad parser tenderar att göra subtilt fel på allt utom den enklaste inmatningen. Att använda webbläsarens inbyggda DOMParser-API betyder att det här verktyget förlitar sig på samma standardöverensstämmande XML-motor som webbläsaren själv använder för att rendera XML-dokument, istället för att implementera om XML-tolkning från grunden. Det betyder också att felaktig XML — en oavslutad tagg, en lös vinkelparentes — visas som ett tydligt tolkningsfel istället för att tyst producera en korrupt eller ofullständig CSV.
Vanliga frågor
Hanterar det här CSV-värden med kommatecken eller citattecken korrekt?
Ja. CSV-parsern är en riktig tillståndsmaskin-parser som håller reda på om den befinner sig inuti ett citerat fält, så kommatecken och radbrytningar inuti citattecken (t.ex. "Smith, John") och dubblerade citattecken som används för att escapa ett bokstavligt citattecken hanteras alla korrekt — den bara delar inte upp vid varje kommatecken.
Hur tolkas XML:en — är det en egen regex-parser?
Nej. XML → CSV använder webbläsarens inbyggda DOMParser-API för att tolka XML:en till ett riktigt dokumentträd, på samma sätt som webbläsaren tolkar vilket XML-dokument som helst. Det betyder att felaktig XML upptäcks och rapporteras som ett fel, istället för att tyst producera felaktig utdata som en handskriven regex-baserad parser kan göra.
Vad händer med kolumnnamn som inte är giltiga XML-taggar?
Allt som inte är en bokstav, siffra, understreck, bindestreck eller punkt ersätts med ett understreck, och ett inledande understreck läggs till om namnet annars skulle börja med en siffra eller skiljetecken — eftersom XML-elementnamn inte kan börja med en siffra eller innehålla mellanslag på samma sätt som en CSV-rubrik kan.
Laddas min data upp till en server?
Nej. Båda konverteringsriktningarna körs helt i JavaScript i din webbläsare, med webbläsarens egen XML-tolkningsmotor — inget skickas någonstans, så det är säkert att använda med exporterad affärs- eller kunddata.
Ger konvertering CSV → XML → CSV tillbaka exakt det jag började med?
För välformad CSV med en konsekvent uppsättning kolumner, ja — tur och retur bevarar värdena. Om din ursprungliga CSV hade inkonsekventa kolumner mellan rader eller ovanliga tecken i rubriknamnen betyder de sanerade taggnamnen att den exakta rubrikstavningen kanske inte bevaras perfekt, även om dataregistervärdena kommer att göra det.