Što je ovaj alat?
Neki sustavi (zastarjeli poslovni softver, određeni SOAP API-ji, feedovi slični RSS-u) očekuju podatke kao XML, dok proračunske tablice i većina alata za uvoz podataka očekuju CSV. Ovaj alat premješta podatke između dva formata: CSV → XML omotava svaki redak u <row> element unutar korijenskog <rows> elementa, pri čemu svaki stupac postaje podređena oznaka nazvana po zaglavlju; XML → CSV radi obrnuto, izvlačeći jedan stupac po svakom različitom nazivu podređene oznake koji pronađe.
CSV strana parsira se pravim parserom za polja pod navodnicima (ne naivnim dijeljenjem po zarezima), pa se vrijednosti koje sadrže zareze, prijelome redaka ili ugrađene navodnike ispravno obrađuju. XML strana parsira se pomoću ugrađenog DOMParser API-ja preglednika — istog sučelja koje preglednici interno koriste za parsiranje XML dokumenata — umjesto ručno napisanog čitača temeljenog na regularnim izrazima, pa se ugniježđene oznake i standardno XML izbjegavanje obrađuju onako kako ih obrađuje pravi XML parser.
Nazivi stupaca/oznaka koji nisu valjani XML nazivi elemenata (sadrže razmake, počinju znamenkom itd.) automatski se sanitiziraju pri generiranju XML-a, jer nazivi XML elemenata imaju stroža pravila od CSV zaglavlja.
Izvor: CSV parsiranje slijedi RFC 4180; struktura XML-a slijedi W3C XML 1.0 specifikaciju.
Zašto ga koristiti?
- Radi u oba smjera — CSV u XML i XML u CSV, u jednom alatu.
- Ispravno CSV parsiranje — obrađuje polja pod navodnicima sa zarezima, prijelomima redaka i izbjegnutim navodnicima, ne samo naivno dijeljenje po zarezima.
- XML parsiranje temeljeno na standardima — XML → CSV koristi ugrađeni DOMParser preglednika umjesto prilagođenog parsera s regularnim izrazima, pa se pogrešno formiran XML prijavljuje kao pogreška umjesto tihog stvaranja nesuvislog izlaza.
- Automatsko XML izbjegavanje — posebni znakovi poput & i < u vašim CSV vrijednostima ispravno se izbjegavaju pri generiranju XML-a.
- 100% na strani klijenta — ništa što ovdje zalijepite ne šalje se na poslužitelj.
Kako ga koristiti
- Zalijepite CSV podatke (s retkom zaglavlja) ili XML podatke u okvir.
- Kliknite "CSV → XML" za generiranje XML-a, ili "XML → CSV" za pretvaranje XML-a natrag u tablicu.
- Pregledajte izlaz — kopirajte ga ili preuzmite kao datoteku.
- Za CSV → XML, svaki redak postaje <row> element s jednom oznakom po stupcu, omotan u korijenski <rows>.
Primjer
Ulaz
name,age
Alice,30
Bob,25Izlaz
<?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>Svaki CSV redak postaje jedan <row> element, a svaki stupac postaje podređena oznaka nazvana po zaglavlju — pokretanjem ovog XML-a natrag kroz "XML → CSV" rekonstruira se izvorna tablica s dva stupca.
Praktični savjeti
- Unos podataka u zastarjeli sustav ili SOAP API koji očekuje XML: prvo pretvorite svoj CSV izvoz ovdje, a zatim zalijepite XML izlaz izravno u ciljni sustav.
- Provjera XML izvoza koji ste primili: pokrenite XML → CSV za brz, čitljiv prikaz tablice bez potrebe za punim XML uređivačem.
- Ako vaš XML koristi duboko ugniježđene elemente umjesto ravne strukture <row><column>, ovaj alat neće izravnati proizvoljno ugniježđenje — očekuje jednu razinu elemenata redaka, od kojih svaki sadrži jednostavne elemente stupaca.
Zašto DOMParser umjesto ručno pisanog XML čitača
XML ima stvarna strukturna pravila — ugniježđeni elementi, navođenje atributa, izbjegavanje znakova za &, <, >, i tako dalje — koja parser temeljen na regularnim izrazima obično suptilno pogrešno protumači na svemu osim najjednostavnijeg unosa. Korištenje ugrađenog DOMParser API-ja preglednika znači da se ovaj alat oslanja na isti standardima usklađen XML mehanizam koji preglednik sam koristi za prikaz XML dokumenata, umjesto da iznova implementira parsiranje XML-a od nule. Također znači da se pogrešno formiran XML — nezatvorena oznaka, zalutali kutni zagrada — pojavljuje kao jasna pogreška parsiranja umjesto tihog stvaranja oštećenog ili nepotpunog CSV-a.
Često postavljana pitanja
Obrađuje li ovo ispravno CSV vrijednosti sa zarezima ili navodnicima?
Da. CSV parser je pravi parser sa stanjima koji prati je li unutar polja pod navodnicima, pa se zarezi i prijelomi redaka unutar navodnika (npr. "Smith, John") i udvostručeni navodnici koji izbjegavaju doslovni znak navodnika ispravno obrađuju — ne dijeli se jednostavno po svakom zarezu.
Kako se parsira XML — je li to prilagođeni parser s regularnim izrazima?
Ne. XML → CSV koristi ugrađeni DOMParser API preglednika za parsiranje XML-a u pravo stablo dokumenta, na isti način na koji preglednik parsira bilo koji XML dokument. To znači da se pogrešno formiran XML otkriva i prijavljuje kao pogreška, umjesto da tiho proizvede netočan izlaz kako bi to mogao učiniti ručno napisan parser s regularnim izrazima.
Što se događa s nazivima stupaca koji nisu valjane XML oznake?
Sve što nije slovo, znamenka, podvlaka, crtica ili točka zamjenjuje se podvlakom, a vodeća podvlaka dodaje se ako bi naziv inače počinjao znamenkom ili interpunkcijom — jer nazivi XML elemenata ne mogu počinjati brojem ili sadržavati razmake kako to može CSV zaglavlje.
Šalju li se moji podaci na poslužitelj?
Ne. Oba smjera pretvorbe odvijaju se u potpunosti u JavaScriptu u vašem pregledniku, koristeći vlastiti mehanizam preglednika za parsiranje XML-a — ništa se nikamo ne šalje, pa je sigurno za korištenje s izvezenim poslovnim ili podacima o klijentima.
Hoće li pretvorba CSV → XML → CSV vratiti točno ono s čime sam počeo?
Za dobro formiran CSV s dosljednim skupom stupaca, da — kružna pretvorba čuva vrijednosti. Ako je vaš izvorni CSV imao nedosljedne stupce po recima ili neobične znakove u nazivima zaglavlja, sanitizirani nazivi oznaka znače da točan pravopis zaglavlja možda neće biti savršeno očuvan, iako će vrijednosti podataka biti.