Čo je tento nástroj?
Niektoré systémy (staršie podnikové softvéry, niektoré API založené na SOAP, feedy podobné RSS) očakávajú dáta vo formáte XML, zatiaľ čo tabuľkové procesory a väčšina nástrojov na import dát očakáva CSV. Tento nástroj presúva dáta medzi oboma formátmi: CSV → XML zabalí každý riadok do elementu <row> vo vnútri koreňového elementu <rows>, pričom každý stĺpec sa stáva podradeným tagom pomenovaným podľa hlavičky; XML → CSV robí opak — extrahuje jeden stĺpec pre každý odlišný nájdený názov podradeného tagu.
CSV strana sa parsuje pomocou skutočného parsera pre polia v úvodzovkách (nie naivným rozdelením podľa čiarok), takže hodnoty obsahujúce čiarky, zalomenia riadkov alebo vnorené úvodzovky sa spracujú správne. XML strana sa parsuje pomocou natívneho API prehliadača DOMParser — rovnakého rozhrania, ktoré prehliadače interne používajú na parsovanie XML dokumentov — namiesto ručne napísaného čítača založeného na regulárnych výrazoch, takže vnorené tagy a štandardné XML escapovanie sa spracujú tak, ako by ich spracoval skutočný XML parser.
Názvy stĺpcov/tagov, ktoré nie sú platnými názvami XML elementov (obsahujú medzery, začínajú číslicou atď.), sa pri generovaní XML automaticky očistia, keďže názvy XML elementov majú prísnejšie pravidlá než hlavičky CSV.
Zdroj: parsovanie CSV sa riadi RFC 4180; štruktúra XML sa riadi W3C XML 1.0 špecifikáciou.
Prečo ho používať?
- Funguje oboma smermi — CSV na XML aj XML na CSV, v jednom nástroji.
- Správne parsovanie CSV — spracuje polia v úvodzovkách s čiarkami, zalomeniami riadkov a escapovanými úvodzovkami, nielen naivné rozdelenie podľa čiarok.
- XML parsovanie založené na štandardoch — XML → CSV používa vstavaný DOMParser prehliadača namiesto vlastného parsera s regulárnymi výrazmi, takže chybné XML sa nahlási ako chyba namiesto tichého vytvorenia nezmyselného výstupu.
- Automatické XML escapovanie — špeciálne znaky ako & a < vo vašich CSV hodnotách sa pri generovaní XML správne escapujú.
- 100% na strane klienta — nič z toho, čo sem vložíte, sa neodosiela na server.
Ako sa používa
- Vložte CSV dáta (s hlavičkovým riadkom) alebo XML dáta do poľa.
- Kliknite na "CSV → XML" pre vygenerovanie XML, alebo na "XML → CSV" pre konverziu XML späť na tabuľku.
- Skontrolujte výstup — skopírujte ho alebo ho stiahnite ako súbor.
- Pri CSV → XML sa každý riadok stáva elementom <row> s jedným tagom na stĺpec, zabaleným v koreňovom elemente <rows>.
Príklad
Vstup
name,age
Alice,30
Bob,25Výstup
<?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>Každý CSV riadok sa stáva jedným elementom <row> a každý stĺpec sa mení na podradený tag pomenovaný podľa hlavičky — spustením tohto XML späť cez "XML → CSV" sa zrekonštruuje pôvodná dvojstĺpcová tabuľka.
Praktické tipy
- Vkladanie dát do staršieho systému alebo SOAP API, ktoré očakáva XML: najprv tu skonvertujte váš CSV export a potom vložte výstupné XML priamo do cieľového systému.
- Auditovanie XML exportu, ktorý ste dostali: spustite XML → CSV pre rýchly, čitateľný pohľad na tabuľku bez potreby plnohodnotného XML editora.
- Ak vaše XML používa hlboko vnorené elementy namiesto plochej štruktúry <row><column>, tento nástroj nevie vnorenie ľubovoľne sploštiť — očakáva jednu úroveň elementov riadkov, z ktorých každý obsahuje jednoduché elementy stĺpcov.
Prečo DOMParser namiesto ručne písaného XML čítača
XML má skutočné štrukturálne pravidlá — vnorené elementy, uvádzanie atribútov, escapovanie znakov pre &, <, >, a podobne — ktoré rýchly parser založený na regulárnych výrazoch má tendenciu jemne pokaziť pri čomkoľvek, čo nie je najjednoduchší vstup. Použitie vstavaného API prehliadača DOMParser znamená, že tento nástroj spolieha na rovnaký, štandardom vyhovujúci XML engine, aký prehliadač sám používa na vykresľovanie XML dokumentov, namiesto reimplementácie parsovania XML od nuly. Zároveň to znamená, že chybné XML — neuzavretý tag, chybne umiestnená lomená zátvorka — sa prejaví ako jasná chyba parsovania namiesto tichého vytvorenia poškodeného alebo neúplného CSV.
Časté otázky
Spracuje tento nástroj CSV hodnoty s čiarkami alebo úvodzovkami správne?
Áno. CSV parser je skutočný stavový parser, ktorý sleduje, či sa nachádza vo vnútri poľa v úvodzovkách, takže čiarky a zalomenia riadkov v úvodzovkách (napr. "Smith, John") a zdvojené úvodzovky použité na escapovanie skutočného znaku úvodzovky sa spracujú správne — nerozdeľuje len podľa každej čiarky.
Ako sa parsuje XML — ide o vlastný parser s regulárnymi výrazmi?
Nie. XML → CSV používa vstavané API prehliadača DOMParser na parsovanie XML do skutočného stromu dokumentu, rovnako ako prehliadač parsuje akýkoľvek XML dokument. To znamená, že chybné XML sa deteguje a nahlási ako chyba, namiesto toho, aby ticho vytvorilo nesprávny výstup tak, ako by mohol ručne napísaný parser s regulárnymi výrazmi.
Čo sa stane s názvami stĺpcov, ktoré nie sú platnými XML tagmi?
Čokoľvek, čo nie je písmeno, číslica, podčiarknik, spojovník alebo bodka, sa nahradí podčiarknikom, a ak by názov inak začínal číslicou alebo interpunkciou, pridá sa úvodný podčiarknik — keďže názvy XML elementov nemôžu začínať číslom ani obsahovať medzery tak, ako môže hlavička CSV.
Odosielajú sa moje dáta na server?
Nie. Obidva smery konverzie prebiehajú úplne v JavaScripte vo vašom prehliadači, pomocou vlastného XML parsovacieho enginu prehliadača — nič sa nikam neodosiela, takže je to bezpečné použiť s exportovanými firemnými alebo zákazníckymi dátami.
Dá konverzia CSV → XML → CSV presne to, s čím som začal?
Pri dobre formátovanom CSV s konzistentnou sadou stĺpcov áno — okružná cesta zachová hodnoty. Ak vaše pôvodné CSV malo nekonzistentné stĺpce naprieč riadkami alebo nezvyčajné znaky v názvoch hlavičiek, očistené názvy tagov znamenajú, že presný pravopis hlavičky nemusí byť dokonale zachovaný, hoci dátové hodnoty áno.