Apri o incolla un file CSV e ottieni un XML ben formato: un elemento radice, un elemento riga per ogni record e ogni valore come elemento figlio o come attributo. Le intestazioni che non sono nomi XML validi, come Order ID o 2024 total, vengono rinominate e ogni modifica viene elencata. Il file viene convertito nel browser e non viene mai caricato.
Come convertire un CSV in XML
- Scegli Apri file, trascina sullo strumento un file
.csv,.tsvo.txtoppure usa Incolla. Se le colonne non sembrano giuste, controlla delimitatore e codifica in Impostazioni di importazione. - Assegna all’Elemento radice e all’Elemento riga (per impostazione predefinita
rowserow) i nomi che si aspetta il sistema che riceverà il file. - Scegli Valori come, la gestione dei valori vuoti, il Rientro e la dichiarazione, poi seleziona Copia o «Scarica XML».
Se il sistema che legge il file richiede nomi di tag precisi, rinomina prima le colonne del CSV con Mappa colonne CSV: così non serve alcuna ridenominazione automatica.
A cosa serve ogni opzione
| Elementi figli | È l’impostazione predefinita: <row><Customer>Smith & Sons</Customer>…</row>. Mantiene gli a capo nei valori ed è adatta alla maggior parte degli strumenti di importazione. |
|---|---|
| Attributi | Un elemento a chiusura automatica per riga: <row Customer="Smith & Sons" …/>. È compatto; tabulazioni e a capo nei valori vengono scritti come 	, e , così un parser li conserva. |
| Ometti i valori vuoti | Disattivata per impostazione predefinita: una cella vuota diventa un elemento vuoto come <Ship_date/>. Se la attivi, l’elemento o l’attributo non compare in quella riga. |
| Rientro | 2 spazi (predefinito), 4 spazi oppure Nessuno (minificato), che scrive l’intero documento su una sola riga. |
| Aggiungi la dichiarazione XML | Attiva per impostazione predefinita: la prima riga è <?xml version="1.0" encoding="UTF-8"?>. Disattivala quando l’XML verrà inserito in un altro documento. |
I nomi della radice e della riga seguono le stesse regole delle intestazioni: un valore vuoto o non valido torna a rows o row, oppure riceve un trattino basso come prefisso.
Come i nomi di colonna diventano nomi XML
- Gli spazi diventano
_, e così ogni carattere diverso da lettere, cifre,.,-e_:Total (EUR)→Total__EUR_,e-mail:work→e-mail_work. Anche i due punti vengono sostituiti, quindi non nasce nessun prefisso di namespace. - Un nome che inizia con una cifra,
.o-riceve un trattino basso iniziale (2024 total→_2024_total); lo stesso vale per un nome che inizia conxml, maiuscolo o minuscolo, perché XML lo riserva (xml_ref→_xml_ref). - Se due intestazioni finiscono con lo stesso nome, la seconda riceve
_2(a bea_b→a_b,a_b_2). I nomi XML distinguono maiuscole e minuscole, quindiNameenamerestano distinti. - Le lettere di qualsiasi alfabeto vengono mantenute:
Größee価格sono nomi XML validi. Un’intestazione vuota diventa primaColumn 7, poiColumn_7. - Ogni ridenominazione compare sotto le opzioni nella forma
old → new, e un avviso sopra l’anteprima ne indica il numero.
Come vengono scritti i valori
- Nel testo degli elementi vengono protetti
&,<e>; negli attributi anche". Per il resto i valori vengono scritti esattamente come nel CSV:00731conserva i suoi zeri e nessun tipo viene dedotto. - XML 1.0 vieta la maggior parte dei caratteri di controllo (U+0000–U+001F tranne tabulazione, line feed e ritorno a capo), U+FFFE, U+FFFF e i surrogati spaiati, anche se protetti. Vengono rimossi e viene indicato il numero di valori interessati.
- Virgole, virgolette e a capo tra virgolette vengono letti secondo la RFC 4180; dentro un elemento figlio un a capo resta un vero a capo.
- L’output è sempre in UTF-8.
Risoluzione dei problemi
- Lo strumento di importazione non trova un campo. Probabilmente è stato rinominato. Controlla l’elenco sotto le opzioni e rinomina la colonna nel CSV, oppure adatta la mappatura nel sistema che riceve il file.
- Un parser segnala un errore di codifica. Apri il file di origine con la sua vera codifica in Impostazioni di importazione: l’XML è in UTF-8 corretto solo se il CSV è stato decodificato bene.
- È tutto in un solo elemento. Il delimitatore è stato riconosciuto male: in Impostazioni di importazione scegli Virgola, Punto e virgola, Tabulazione o Barra verticale. I CSV salvati da Excel in italiano usano spesso il punto e virgola.
- Mi servono CDATA, namespace o uno schema. Il convertitore scrive solo elementi e attributi semplici; aggiungi queste parti in un passaggio successivo.
Limiti e privacy
I file fino a 25 MB, 100.000 righe o 2 milioni di celle si aprono con un’anteprima dal vivo delle prime 200 righe. Quelli più grandi vengono convertiti in streaming: il file viene letto due volte a blocchi (una per misurare le colonne, una per scrivere), un avviso ricorda che il download comprende l’intero file e Copia non è disponibile. Un singolo file di output può arrivare al massimo a 4 GB.
La conversione gira in un worker in background in questa scheda del browser: la pagina resta reattiva e Annulla la interrompe. Il CSV non viene mai inviato a un server.
Esempio
Un export di ordini con spazi e parentesi nelle intestazioni, una e commerciale, parentesi angolari e una data vuota, convertito con le impostazioni predefinite. Tre intestazioni vengono rinominate; la Ship date vuota diventa <Ship_date/>.
Order ID,Customer,Total (EUR),Ship date 10071,"Smith & Sons",249.00,2025-02-03 10072,"Café <Lumière>",18.50,
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<Order_ID>10071</Order_ID>
<Customer>Smith & Sons</Customer>
<Total__EUR_>249.00</Total__EUR_>
<Ship_date>2025-02-03</Ship_date>
</row>
<row>
<Order_ID>10072</Order_ID>
<Customer>Café <Lumière></Customer>
<Total__EUR_>18.50</Total__EUR_>
<Ship_date/>
</row>
</rows>Domande frequenti
Perché il nome della mia colonna è cambiato?
I nomi degli elementi XML non possono contenere spazi né la maggior parte dei segni di punteggiatura, e non possono iniziare con una cifra o con xml. Il convertitore applica la modifica più piccola che produce un nome valido e univoco, e le elenca tutte.
Meglio elementi o attributi?
Usa gli elementi figli, a meno che il sistema di destinazione non chieda attributi. Gli elementi mantengono gli a capo come sono scritti; nei valori degli attributi i parser XML normalizzano gli spazi, ed è per questo che il convertitore codifica tabulazioni e a capo come riferimenti a caratteri.
Numeri e date ricevono un tipo?
No. XML non ha tipi di valore integrati, quindi ogni valore viene scritto con il testo del CSV. I tipi li stabilisce lo schema o il programma che legge il file.