Una colonna chiamata «Total (€)» non può essere un nome di elemento XML
Pubblicato il 15/09/2026 · 4 min di lettura · Strumenti per file
Daniel Okonkwo — Sviluppatore front-end e redattore Tech presso OneKitly
Performance web · Formati di file
Verificato su 3 fonti
Entrambe le esportazioni leggono la prima riga come nomi di campo e poi ciascuna deve obbedire alle regole del proprio formato. JSON non ne ha quasi: una chiave può essere qualsiasi stringa, quindi una colonna intitolata «Total (€)» diventa la chiave «Total (€)» tale e quale, e una colonna senza etichetta la chiave «» — scomodo ma fedele. XML ha regole strette sui nomi, e il testo di un'intestazione di solito le infrange. Misurato su un foglio di quattro colonne: «Produit» resta Produit, «Total (€)» diventa Total_, «2026 ventes» diventa _ventes perché un nome non può iniziare con una cifra, e un'intestazione vuota diventa column4. Nulla viene soppresso — ogni carattere vietato in un nome è ripiegato in un trattino basso anziché cancellato — ma due intestazioni diverse possono normalizzarsi allo stesso nome di elemento, e conviene verificarlo prima di dare il risultato a qualcosa che le attende distinte. I valori sono protetti e non alterati: una e commerciale o una parentesi angolare in una cella attraversa intatta.
JSON prende il testo della tua intestazione come chiave, esattamente com'è scritto. XML non può — i suoi nomi non ammettono spazi, parentesi né una cifra iniziale — quindi vengono normalizzati, e sapere come evita una sorpresa a valle.
La riga vuota che solo alcuni formati emettono
Un foglio con una riga del tutto vuota nel mezzo si esporta diversamente a seconda della forma della destinazione. I formati per righe la conservano: il CSV di un foglio a quattro colonne con una riga vuota contiene una riga fatta di tre virgole, e il TSV di tre tabulazioni — perché una riga è una riga e il formato non ha nozione di record assente. I formati per oggetti la lasciano cadere: il JSON ha emesso due oggetti per tre righe di dati nello stesso test. L'XML è per righe per costruzione e l'avrebbe naturalmente conservata, il che avrebbe fatto sì che lo stesso file si contraddicesse fra due esportazioni dello stesso strumento. Scarta quindi la riga vuota, e JSON e XML concordano.
Quale destinazione per quale consumatore
JSON quando a leggerlo sarà uno script o un'API, perché le chiavi sopravvivono alla lettera e chi legge può indicare una colonna con il suo nome vero. XML quando il consumatore è un sistema datato, un'integrazione aziendale o qualsiasi cosa che validi contro uno schema — e confronta prima i nomi degli elementi con quello schema, poiché la normalizzazione può non produrre ciò che si attende. TSV quando la destinazione è un caricamento in banca dati o una pipeline di shell: una tabulazione ha molte meno probabilità di comparire dentro una cella di quante ne abbia una virgola, quindi un file separato da tabulazioni richiede meno virgolette e si rompe meno. HTML quando qualcuno vuole solo guardare la tabella in un browser o incollarla in un documento.
| Intestazione nel foglio | Chiave JSON | Elemento XML |
|---|---|---|
| Produit | «Produit» | <Produit> |
| Total (€) | «Total (€)» | <Total_> |
| 2026 ventes | «2026 ventes» | <_ventes> — nessuna cifra iniziale |
| (nessuna intestazione) | «» | <column4> |
Domande frequenti
- E se due intestazioni si normalizzano allo stesso nome di elemento?
- Ottieni due elementi con lo stesso nome dentro ogni riga, XML valido e di solito non ciò che un consumatore vuole. «Total (€)» e «Total (£)» diventano entrambi Total_, per esempio. Rinomina le colonne nel foglio prima di convertire — è l'unico posto in cui l'ambiguità può essere risolta, poiché una volta prodotto l'XML le intestazioni originali sono sparite.
- I caratteri accentati passano in entrambi i formati?
- Nei valori sì — entrambi sono scritti in UTF-8 e l'XML lo dichiara nel suo prologo. Nei nomi di elementi XML le regole sono più larghe di quanto sembri: un nome può contenere lettere accentate, quindi un'intestazione «Quantité» sarebbe un elemento valido. Questo convertitore è più severo della specifica e ripiega tutto ciò che esce dall'alfabeto latino semplice in un trattino basso — la scelta prudente per consumatori a loro volta più severi della specifica, e ce ne sono molti.
- Posso ottenere un file per foglio anziché per cartella?
- Spezza prima la cartella, poi converti ogni pezzo — la divisione scrive un .xlsx per foglio e i convertitori prendono un foglio per volta, quindi quella via ti dà esattamente un'uscita per scheda con i nomi conservati. Convertire direttamente una cartella a più fogli ti dà il primo, il che va bene per il caso comune di una cartella che in realtà è una sola tabella.
Articoli che potrebbero interessarti
Tutte le guide →Strumenti correlati
Fonti
Hai notato un errore in questo articolo?