CodeKitHub
Strumenti JSON

Convertitore da CSV a XML

Ultimo aggiornamento:

Per convertire CSV in XML, ogni riga diventa un elemento <row> e ogni colonna diventa un tag figlio con il nome della sua intestazione — la conversione inversa estrae una colonna per ogni nome di tag figlio distinto trovato nell'XML. Converti CSV in XML o XML in CSV, entrambi nello stesso strumento — incolla uno dei due formati e scegli la direzione che ti serve. Ogni riga CSV diventa un elemento <row> con un tag figlio per colonna; l'input XML viene riconvertito in colonne usando il parser XML nativo del browser. Tutto avviene localmente, quindi i tuoi dati non lasciano mai il tuo dispositivo.

Che cos'è questo strumento?

Alcuni sistemi (software aziendale legacy, certe API basate su SOAP, feed simili a RSS) si aspettano dati in XML, mentre i fogli di calcolo e la maggior parte degli strumenti di importazione dati si aspettano CSV. Questo strumento sposta i dati tra i due formati: CSV → XML racchiude ogni riga in un elemento <row> dentro un elemento radice <rows>, con ogni colonna che diventa un tag figlio nominato secondo l'intestazione; XML → CSV fa il contrario, estraendo una colonna per ogni nome di tag figlio distinto trovato.

Il lato CSV viene analizzato con un analizzatore di campi tra virgolette adeguato (non una semplice divisione sulle virgole), quindi valori con virgole, interruzioni di riga o virgolette incorporate vengono gestiti correttamente. Il lato XML viene analizzato usando l'API nativa DOMParser del browser — la stessa interfaccia che i browser usano internamente per analizzare i documenti XML — anziché un lettore artigianale basato su espressioni regolari, quindi i tag annidati e l'escaping XML standard vengono gestiti come farebbe un vero analizzatore XML.

I nomi di colonna/tag che non sono nomi di elemento XML validi (con spazi, che iniziano con una cifra, ecc.) vengono automaticamente sanificati durante la generazione dell'XML, poiché i nomi di elemento XML seguono regole più severe rispetto alle intestazioni CSV.

Fonte: l'analisi del CSV segue RFC 4180; la struttura XML segue la specifica W3C XML 1.0.

Perché usarlo?

  • Funziona in entrambe le direzioni — CSV in XML e XML in CSV, in un unico strumento.
  • Analisi CSV corretta — gestisce campi tra virgolette con virgole, interruzioni di riga e virgolette con escape, non solo una semplice divisione sulle virgole.
  • Analisi XML basata su standard — XML → CSV usa il DOMParser nativo del browser anziché un analizzatore regex personalizzato, quindi l'XML malformato viene segnalato come errore invece di generare silenziosamente spazzatura.
  • Escaping XML automatico — caratteri speciali come & e < nei tuoi valori CSV vengono correttamente sottoposti a escape durante la generazione dell'XML.
  • 100% lato client — nulla di ciò che incolli qui viene caricato su un server.

Come si usa

  1. Incolla dati CSV (con una riga di intestazione) o dati XML nella casella.
  2. Fai clic su "CSV → XML" per generare XML, oppure su "XML → CSV" per riconvertire l'XML in una tabella.
  3. Controlla il risultato — copialo o scaricalo come file.
  4. Per CSV → XML, ogni riga diventa un elemento <row> con un tag per colonna, racchiuso in una radice <rows>.

Esempio

Input

name,age
Alice,30
Bob,25

Risultato

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

Ogni riga CSV diventa un elemento <row>, e ogni colonna un tag figlio nominato secondo l'intestazione — ripassare questo XML per "XML → CSV" ricostruisce la tabella originale a due colonne.

Consigli pratici

  • Alimentare un sistema legacy o un'API SOAP che si aspetta XML: converti prima qui la tua esportazione CSV, poi incolla l'XML risultante direttamente nel sistema di destinazione.
  • Verificare un'esportazione XML ricevuta: esegui XML → CSV per ottenere rapidamente una vista tabellare leggibile senza bisogno di un editor XML completo.
  • Se il tuo XML usa elementi profondamente annidati anziché una struttura piatta <row><colonna>, questo strumento non appiattirà annidamenti arbitrari — si aspetta un livello di elementi riga, ciascuno contenente semplici elementi colonna.

Perché DOMParser invece di un lettore XML artigianale

L'XML ha regole strutturali reali — elementi annidati, quotatura degli attributi, escaping dei caratteri per &, <, > e così via — che un analizzatore rapido basato su espressioni regolari tende a gestire in modo sottilmente errato su qualsiasi cosa diversa dall'input più semplice. Usare l'API nativa DOMParser del browser significa che questo strumento si affida allo stesso motore XML conforme agli standard che il browser stesso usa per rendere i documenti XML, invece di reimplementare l'analisi XML da zero. Significa anche che un XML malformato — un tag non chiuso, una parentesi angolare vagante — emerge come un chiaro errore di analisi invece di produrre silenziosamente un CSV corrotto o incompleto.

Domande frequenti

Gestisce correttamente i valori CSV con virgole o virgolette?

Sì. L'analizzatore CSV è un vero analizzatore a macchina a stati che tiene traccia di quando si trova all'interno di un campo tra virgolette, quindi virgole e interruzioni di riga all'interno delle virgolette (ad es. "Smith, John") e le virgolette raddoppiate usate per l'escape di un carattere virgolette letterale vengono tutti gestiti correttamente — non divide semplicemente su ogni virgola.

Come viene analizzato l'XML — è un analizzatore regex personalizzato?

No. XML → CSV usa l'API nativa DOMParser del browser per analizzare l'XML in un vero albero di documento, allo stesso modo in cui il browser analizza qualsiasi documento XML. Questo significa che l'XML malformato viene rilevato e segnalato come errore, anziché produrre silenziosamente un output errato come potrebbe fare un analizzatore regex artigianale.

Cosa succede ai nomi di colonna che non sono tag XML validi?

Tutto ciò che non è una lettera, una cifra, un trattino basso, un trattino o un punto viene sostituito con un trattino basso, e un trattino basso iniziale viene aggiunto se il nome inizierebbe altrimenti con una cifra o punteggiatura — poiché i nomi di elemento XML non possono iniziare con un numero né contenere spazi come può fare un'intestazione CSV.

I miei dati vengono caricati su un server?

No. Entrambe le direzioni di conversione avvengono interamente in JavaScript nel tuo browser, usando il motore di analisi XML proprio del browser — nulla viene inviato da nessuna parte, il che rende sicuro l'uso con dati aziendali o di clienti esportati.

Convertire CSV → XML → CSV mi restituirà esattamente ciò con cui ho iniziato?

Per un CSV ben formato con un insieme di colonne coerente, sì — il ciclo completo preserva i valori. Se il tuo CSV originale aveva colonne incoerenti tra le righe o caratteri insoliti nei nomi di intestazione, i nomi di tag sanificati fanno sì che l'ortografia esatta dell'intestazione potrebbe non essere preservata perfettamente, anche se i valori dei dati lo saranno.

Strumenti correlati