Hva er dette verktøyet?
Enkelte systemer (eldre bedriftsprogramvare, visse SOAP-baserte API-er, RSS-lignende feeder) forventer data som XML, mens regneark og de fleste dataimportverktøy forventer CSV. Dette verktøyet flytter data mellom de to formatene: CSV → XML pakker hver rad inn i et <row>-element inne i et rot-<rows>-element, der hver kolonne blir en underliggende tagg oppkalt etter overskriften; XML → CSV gjør det motsatte, og henter ut én kolonne per unikt taggnavn den finner.
CSV-siden tolkes med en ordentlig parser for siterte felt (ikke en naiv oppdeling på komma), så verdier som inneholder komma, linjeskift eller innebygde anførselstegn håndteres riktig. XML-siden tolkes med nettleserens innebygde DOMParser-API — samme grensesnitt nettlesere bruker internt for å tolke XML-dokumenter — i stedet for en håndskrevet regex-basert leser, så nøstede tagger og standard XML-escaping håndteres slik en ekte XML-parser håndterer dem.
Kolonne-/taggnavn som ikke er gyldige XML-elementnavn (inneholder mellomrom, starter med et tall osv.) blir automatisk renset når XML genereres, siden XML-elementnavn har strengere regler enn CSV-overskrifter.
Kilde: CSV-tolkningen følger RFC 4180; XML-strukturen følger W3C XML 1.0-spesifikasjonen.
Hvorfor bruke det?
- Fungerer begge veier — CSV til XML og XML til CSV, i ett og samme verktøy.
- Korrekt CSV-tolkning — håndterer siterte felt med komma, linjeskift og escapede anførselstegn, ikke bare en naiv oppdeling på komma.
- Standardbasert XML-tolkning — XML → CSV bruker nettleserens innebygde DOMParser i stedet for en egen regex-parser, så feilformatert XML rapporteres som en feil i stedet for å stille produsere søppel.
- Automatisk XML-escaping — spesialtegn som & og < i CSV-verdiene dine escapes korrekt når XML genereres.
- 100 % klientside — ingenting du limer inn her lastes opp til en server.
Slik bruker du det
- Lim inn CSV-data (med en overskriftsrad) eller XML-data i boksen.
- Klikk «CSV → XML» for å generere XML, eller «XML → CSV» for å konvertere XML tilbake til en tabell.
- Se gjennom resultatet — kopier det eller last det ned som en fil.
- For CSV → XML blir hver rad et <row>-element med én tagg per kolonne, pakket inn i en <rows>-rot.
Eksempel
Inndata
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>Hver CSV-rad blir ett <row>-element, og hver kolonne blir en underliggende tagg oppkalt etter overskriften — kjører du denne XML-en tilbake gjennom «XML → CSV», gjenskapes den opprinnelige tokolonnetabellen.
Praktiske tips
- Skal du mate data inn i et eldre system eller en SOAP-API som forventer XML: konverter CSV-eksporten din her først, og lim deretter XML-resultatet direkte inn i målsystemet.
- Reviderer du en XML-eksport du har mottatt: kjør XML → CSV for å få en rask, lesbar tabellvisning uten å trenge et fullstendig XML-redigeringsverktøy.
- Hvis XML-en din bruker dypt nøstede elementer i stedet for en flat <row><column>-struktur, vil ikke dette verktøyet flate ut vilkårlig nøsting — det forventer ett nivå av radelementer, hver med enkle kolonneelementer.
Hvorfor DOMParser i stedet for en håndskrevet XML-leser
XML har ekte strukturelle regler — nøstede elementer, sitering av attributter, tegn-escaping for &, <, > og så videre — som en rask regex-basert parser lett gjør subtilt feil på alt annet enn det aller enkleste innholdet. Ved å bruke nettleserens innebygde DOMParser-API baserer dette verktøyet seg på den samme standardkompatible XML-motoren som nettleseren selv bruker for å vise XML-dokumenter, i stedet for å implementere XML-tolking fra bunnen av. Det betyr også at feilformatert XML — en uavsluttet tagg, en løs vinkelparentes — dukker opp som en tydelig tolkingsfeil i stedet for stille å produsere en korrupt eller ufullstendig CSV.
Ofte stilte spørsmål
Håndterer dette CSV-verdier med komma eller anførselstegn riktig?
Ja. CSV-parseren er en ordentlig tilstandsmaskin-parser som holder styr på om den befinner seg inne i et sitert felt, så komma og linjeskift inne i anførselstegn (f.eks. «Smith, John») og doble anførselstegn brukt til å escape et bokstavelig anførselstegn håndteres alle korrekt — den bare deler ikke opp på hvert eneste komma.
Hvordan tolkes XML-en — er det en egen regex-parser?
Nei. XML → CSV bruker nettleserens innebygde DOMParser-API for å tolke XML-en til et ekte dokumenttre, på samme måte som nettleseren tolker ethvert XML-dokument. Det betyr at feilformatert XML oppdages og rapporteres som en feil, i stedet for å stille produsere feil resultat slik en håndskrevet regex-basert parser kan gjøre.
Hva skjer med kolonnenavn som ikke er gyldige XML-tagger?
Alt som ikke er en bokstav, et tall, understrek, bindestrek eller punktum, erstattes med et understrek, og et innledende understrek legges til hvis navnet ellers ville begynt med et tall eller tegnsetting — siden XML-elementnavn ikke kan starte med et tall eller inneholde mellomrom slik en CSV-overskrift kan.
Blir dataene mine lastet opp til en server?
Nei. Begge konverteringsretningene kjører helt i JavaScript i nettleseren din, med nettleserens egen XML-tolkningsmotor — ingenting sendes noe sted, så det er trygt å bruke med eksporterte forretnings- eller kundedata.
Gir konvertering CSV → XML → CSV tilbake nøyaktig det jeg startet med?
For velformet CSV med et konsekvent sett kolonner, ja — rundturen bevarer verdiene. Hvis den opprinnelige CSV-en hadde inkonsekvente kolonner mellom radene eller uvanlige tegn i overskriftsnavnene, betyr de rensede taggnavnene at nøyaktig stavemåte i overskriften kanskje ikke bevares perfekt, selv om dataverdiene gjør det.