Conversione da CSV a XML
Incollando un file CSV o TSV, lo converte in XML con un elemento per riga, nella forma
Che cosa fa questa conversione da CSV a XML
Le occasioni che richiedono dati tabellari in XML non sono affatto scomparse: le specifiche di importazione di gestionali di lunga data, l'input dei motori di reportistica e un certo numero di API. Incolli qui CSV o TSV e questo strumento lo trasforma in XML con un record per riga. L'output adotta la forma lineare <rows><row><colonna>valore</colonna>...</row></rows>, pronta da passare a XSLT o a un parser.
La prima riga viene letta come intestazione e ogni titolo di colonna diventa un nome di tag. I nomi di tag XML ammettono anche lettere accentate e non latine, quindi titoli come città o 名前 diventano tag così come sono. Tuttavia i titoli che iniziano con una cifra, sono vuoti, contengono spazi o la maggior parte dei simboli, oppure iniziano con xml non rispettano le regole dei nomi XML e vengono quindi sostituiti automaticamente con un nome numerato come column1 o column2. I caratteri &, < e > presenti nei valori vengono convertiti in riferimenti a entità. Tutto avviene nel suo browser, così i dati che preferisce non inviare da nessuna parte — gli anagrafici dei clienti, per esempio — restano con lei.
Come convertire CSV in XML
- Incolli il CSV o il TSV La prima riga viene presa come intestazione e il resto come dati. È accettata anche la separazione con tabulazioni.
- Controlli i nomi dei tag I titoli diventano direttamente nomi di tag. I titoli nella sua lingua, anche con lettere accentate o non latine, vengono usati così come sono; noti però che un titolo con spazi o simboli viene sostituito con uno numerato.
-
Esamini l'XML generato
<rows>sta in cima e ogni record compare sotto come un<row>. - Lo copi per il passo successivo Lo usi così com'è come input di un sistema che consuma XML, oppure come sorgente di una trasformazione XSLT.
Consigli per sfruttarlo al meglio
- Attivando l'opzione che considera la prima riga come intestazione, i nomi delle colonne diventano direttamente i nomi dei marcatori XML; le intestazioni inutilizzabili come nomi di marcatore, per esempio quelle che cominciano con una cifra o contengono simboli, ripiegano su
column1,column2e così via. - Senza intestazione, tutte le righe sono trattate come dati e le colonne prendono i nomi
column1,column2e seguenti. - Usatelo là dove serve il formato XML anziché il CSV: interfacce datate basate su XML, integrazioni SOAP, immissione di dati in certi sistemi gestionali.
- L'XML generato protegge i caratteri speciali con i riferimenti alle entità —
&,<,>— e si può quindi importare direttamente in un sistema esterno.
Quando torna utile
Caricare in un sistema che accetta solo XML
Dà ai dati preparati in un foglio di calcolo la forma che un sistema centrale in attesa di XML è in grado di accettare.
Produrre una sorgente dati per un motore di reportistica
Molti motori di reportistica accettano XML come sorgente e così si passa da un CSV a un prototipo in poco tempo.
Preparare dati di esercizio per XSLT
Quando scrive un foglio di trasformazione, può ricavare un XML di esempio da una tabella che ha già.
Vedere la struttura con i propri occhi
Osservare la corrispondenza fra colonne e valori come annidamento XML rende talvolta l'impianto più chiaro del CSV grezzo.
I termini della conversione da CSV a XML
- Vincoli sul nome del tag
- Un nome di tag XML deve iniziare con una lettera (anche accentata o non latina, come il giapponese) o un trattino basso e non può contenere spazi né la maggior parte dei segni di punteggiatura. Dal secondo carattere in poi sono ammessi anche cifre, trattini e punti. I titoli che non lo rispettano vengono sostituiti automaticamente con nomi come
column1. - Riferimento a entità
- Riscrivere
&,<e>come&,<e>. La e commerciale va convertita per prima, altrimenti il risultato resta convertito due volte. - L'elemento row
- L'elemento che rappresenta un record. Questo strumento annida gli elementi
<row>dentro un unico<rows>. - TSV
- Dati tabellari separati da tabulazioni. Copiare da un foglio di calcolo produce di solito questo formato.
- Riga di intestazione
- I titoli di colonna della prima riga. Poiché da essi derivano i nomi dei tag, scriverli con lettere, cifre e trattini bassi mantiene leggibile l'output.
Domande frequenti
xml (i caratteri giapponesi, cinesi e coreani e le lettere accentate sono invece ammessi). Se l'intestazione viola quelle regole, il documento non sarebbe analizzabile come XML valido, e lo strumento ripiega quindi automaticamente sui nomi sicuri column1, column2 e seguenti.&, < e > — nei rispettivi riferimenti alle entità prima di produrre il risultato: anche se le celle li contengono, il documento generato resta analizzabile come XML valido.
A proposito — perché XML si è guadagnato la fama di formato prolisso
XML, il linguaggio di marcatura estensibile, fu standardizzato dal consorzio del web nel 1998 e nella prima metà degli anni Duemila occupava una posizione dominante come formato standard per lo scambio di dati fra sistemi. Protocolli di comunicazione come SOAP e XML-RPC, flussi di notizie come RSS e Atom, perfino i file di configurazione di strumenti di compilazione: XML era ovunque.
A parità di dati, però, XML deve dichiarare ogni volta apertura e chiusura con un marcatore e tende quindi a occupare più spazio di JSON, affermatosi dalla metà degli anni Duemila: di qui la fama di formato prolisso. All'oggetto JSON {"name":"Alice"} corrisponde per esempio <name>Alice</name>, dove non è raro che i marcatori contino più caratteri del dato stesso.
XML dispone tuttavia di un corredo di specifiche maturo che JSON non ha: la convalida rigorosa di tipi e struttura con XML Schema, l'uso degli spazi dei nomi per evitare collisioni, le trasformazioni con XSLT. Che nelle integrazioni critiche di finanza, sanità e pubblica amministrazione si continui a preferirlo si spiega anche con la ricchezza di questo ecosistema di convalida e trasformazione.