CodeKitHub
Instrumente JSON

Convertor CSV în XML

Ultima actualizare:

Pentru a converti CSV în XML, fiecare rând devine un element <row>, iar fiecare coloană devine un tag copil numit după antetul său — conversia inversă extrage o coloană pentru fiecare nume distinct de tag copil găsit în XML. Acest instrument face acea conversie, în ambele direcții, complet în browserul tău.

Ce este acest instrument?

Unele sisteme (software enterprise legacy, anumite API-uri bazate pe SOAP, feed-uri adiacente RSS) așteaptă date ca XML, în timp ce tabelele și majoritatea instrumentelor de import de date așteaptă CSV. Acest instrument mută date între cele două formate: CSV → XML înfășoară fiecare rând într-un element <row> în interiorul unui element rădăcină <rows>, cu fiecare coloană devenind un tag copil numit după antet; XML → CSV face inversul, extrăgând o coloană pentru fiecare nume distinct de tag copil pe care îl găsește.

Partea CSV este analizată cu un parser adecvat pentru câmpuri cu ghilimele (nu o simplă divizare naivă după virgule), deci valorile care conțin virgule, întreruperi de linie sau ghilimele incluse sunt gestionate corect. Partea XML este analizată folosind API-ul nativ DOMParser al browserului — aceeași interfață pe care browserele o folosesc intern pentru a analiza documente XML — nu un cititor bazat pe regex scris manual, deci tagurile imbricate și escaparea XML standard sunt gestionate așa cum le gestionează un parser XML real.

Numele de coloane/taguri care nu sunt nume valide de elemente XML (conțin spații, încep cu o cifră etc.) sunt igienizate automat la generarea XML-ului, deoarece numele elementelor XML au reguli mai stricte decât antetele CSV.

Sursă: analiza CSV urmează RFC 4180; structura XML urmează specificația W3C XML 1.0.

De ce să-l folosești?

  • Funcționează în ambele direcții — CSV în XML și XML în CSV, într-un singur instrument.
  • Analiză CSV corectă — gestionează câmpuri cu ghilimele care conțin virgule, întreruperi de linie și ghilimele escapate, nu doar o simplă divizare naivă după virgulă.
  • Analiză XML bazată pe standarde — XML → CSV folosește DOMParser-ul integrat al browserului, nu un parser regex personalizat, deci XML-ul malformat este raportat ca eroare, nu produce silențios date incorecte.
  • Escapare automată XML — caracterele speciale precum & și < din valorile tale CSV sunt escapate corect la generarea XML-ului.
  • 100% pe partea clientului — nimic din ce lipești aici nu este încărcat pe un server.

Cum se folosește

  1. Lipește date CSV (cu un rând antet) sau date XML în câmp.
  2. Apasă „CSV → XML” pentru a genera XML, sau „XML → CSV” pentru a converti XML înapoi într-un tabel.
  3. Revizuiește rezultatul — copiază-l sau descarcă-l ca fișier.
  4. Pentru CSV → XML, fiecare rând devine un element <row> cu un tag per coloană, înfășurat într-o rădăcină <rows>.

Exemplu

Intrare

name,age
Alice,30
Bob,25

Rezultat

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

Fiecare rând CSV devine un element <row>, iar fiecare coloană devine un tag copil numit după antet — rulând acest XML înapoi prin „XML → CSV” reconstruiește tabelul original cu două coloane.

Sfaturi practice

  • Alimentarea datelor într-un sistem legacy sau API SOAP care așteaptă XML: convertește-ți exportul CSV aici mai întâi, apoi lipește rezultatul XML direct în sistemul țintă.
  • Auditarea unui export XML pe care l-ai primit: rulează XML → CSV pentru a obține o vizualizare rapidă, lizibilă, de tabel, fără să ai nevoie de un editor XML complet.
  • Dacă XML-ul tău folosește elemente imbricate profund, nu o structură plată <row><column>, acest instrument nu va aplatiza imbricarea arbitrară — se așteaptă la un nivel de elemente rând, fiecare conținând elemente simple de coloană.

De ce DOMParser în loc de un cititor XML scris manual

XML are reguli structurale reale — elemente imbricate, ghilimele pentru atribute, escapare de caractere pentru &, <, >, și așa mai departe — pe care un parser rapid bazat pe regex tinde să le greșească subtil pe orice altceva decât cea mai simplă intrare. Folosirea API-ului nativ DOMParser al browserului înseamnă că acest instrument se bazează pe același motor XML conform standardelor pe care browserul însuși îl folosește pentru a randa documente XML, nu reimplementează analiza XML de la zero. Înseamnă și că XML-ul malformat — un tag neînchis, o paranteză unghiulară rătăcită — apare ca o eroare de analiză clară, în loc să producă în tăcere un CSV corupt sau incomplet.

Întrebări frecvente

Gestionează corect valorile CSV cu virgule sau ghilimele?

Da. Parserul CSV este un parser adecvat, bazat pe automat de stări, care urmărește dacă se află într-un câmp cu ghilimele, deci virgulele și întreruperile de linie din interiorul ghilimelelor (de exemplu „Smith, John”) și ghilimelele dublate folosite pentru a escapa un caracter de ghilimea literal sunt gestionate toate corect — nu doar divide după fiecare virgulă.

Cum este analizat XML-ul — este un parser regex personalizat?

Nu. XML → CSV folosește API-ul nativ DOMParser al browserului pentru a analiza XML-ul într-un arbore de document real, la fel cum browserul analizează orice document XML. Asta înseamnă că XML-ul malformat este detectat și raportat ca eroare, nu produce silențios rezultate incorecte așa cum ar putea face un parser bazat pe regex scris manual.

Ce se întâmplă cu numele de coloane care nu sunt taguri XML valide?

Orice nu este literă, cifră, underscore, cratimă sau punct este înlocuit cu un underscore, iar un underscore la început este adăugat dacă numele ar începe altfel cu o cifră sau punctuație — deoarece numele elementelor XML nu pot începe cu un număr sau conține spații așa cum poate un antet CSV.

Sunt datele mele încărcate pe un server?

Nu. Ambele direcții de conversie rulează complet în JavaScript, în browserul tău, folosind propriul motor de analiză XML al browserului — nimic nu este trimis nicăieri, deci este sigur de folosit cu date de afaceri sau de clienți exportate.

Convertirea CSV → XML → CSV îmi va da înapoi exact ce am pornit?

Pentru CSV bine format cu un set consistent de coloane, da — traseul dus-întors păstrează valorile. Dacă CSV-ul tău original avea coloane inconsistente între rânduri sau caractere neobișnuite în numele antetelor, numele de taguri igienizate înseamnă că ortografia exactă a antetului ar putea să nu fie perfect păstrată, deși valorile de date vor fi.

Instrumente similare