Padroneggiare i file XML: struttura, casi d'uso e vantaggi principali

Un file XML memorizza dati strutturati sotto forma di tag nidificati e leggibili dall'uomo, anziché in righe e colonne. Microsoft descrive il formato come "una tecnologia progettata per la gestione e la condivisione di dati strutturati in un file di testo leggibile dall'uomo". Questa guida spiega come sono costruiti questi file, da dove provengono, come vengono gestiti dai fogli di calcolo e come estrarre risposte da essi.
Cos'è un file XML
Si tratta di un file di testo semplice che contiene sia i dati sia i nomi degli elementi che descrive. Un'esportazione separata da virgole fornisce valori e si affida a una riga di intestazione per definirne il significato. Un file con tag, invece, racchiude il significato inline, accanto a ogni singolo valore.
Questa struttura comporta una conseguenza che è bene comprendere prima di ogni altra cosa. Il formato è gerarchico, quindi un record può contenere altri record, su più livelli di profondità. Un foglio di calcolo è piatto, e la discrepanza tra queste due strutture è la causa della maggior parte delle difficoltà pratiche.
La panoramica di Microsoft ne riassume lo scopo in una sola frase: il formato "semplifica notevolmente la definizione, la trasmissione, la convalida e l'interpretazione dei dati tra database, applicazioni e organizzazioni".
Come funziona la struttura
Elementi e nidificazione
Ogni valore si trova all'interno di un elemento con nome, e gli elementi possono contenere altri elementi. Una fattura può contenere un blocco cliente, un elenco di singole voci e un blocco dei totali, ciascuno con i propri elementi figli.
La nidificazione è il punto chiave. Registra relazioni che una tabella piatta può esprimere solo ripetendo i valori su più righe.
Tag personalizzati
I nomi dei tag non sono predefiniti dal formato. Come afferma la panoramica ufficiale, "i progettisti di applicazioni possono creare tag, strutture di dati e schemi personalizzati".
Questo è il motivo per cui due file provenienti da due fornitori diversi possono descrivere la stessa fattura senza condividere quasi nessun nome di campo. Qualsiasi analisi deve iniziare dalla comprensione del reale significato dei tag che si hanno di fronte.
Schemi e convalida
Un file di schema separato definisce le regole. Microsoft descrive direttamente questa associazione. I file di dati "contengono i tag personalizzati e i dati strutturati". I file di schema "contengono tag di schema che applicano regole, come il tipo di dati e la convalida".
Gli schemi utilizzano l'estensione .xsd. Lo standard definisce anche file di trasformazione con l'estensione .xslt, descritti come file "utilizzati per applicare stili e trasformare i dati XML in diversi formati di presentazione".
A cosa servono questi file
Raramente si sceglie questo formato di propria iniziativa. Di solito arriva da un sistema che è in funzione da anni.
- Finanza e settore bancario. I formati degli estratti conto e dei messaggi di pagamento sono comunemente basati su tag anziché essere delimitati.
- Fatturazione elettronica. Molti mandati nazionali per la fatturazione elettronica specificano un documento con tag come documento legale ufficiale.
- Esportazioni ERP e HR. I sistemi aziendali di lunga data esportano spesso in questo formato per impostazione predefinita.
- Feed di prodotti e contenuti. I feed dei cataloghi di vendita al dettaglio e i formati di syndication sono basati su tag.
- Configurazione e documenti Office. I moderni formati di file Office sono raccolte compresse di parti con tag.
Il modello per tutti e cinque i casi è lo stesso. Il file è un elemento di interscambio prodotto per un'altra macchina, non un file di lavoro creato per un analista.
Confronto con i formati piatti
| File con tag (.xml) | CSV | Parquet | |
|---|---|---|---|
| Struttura | Nidificata, su più livelli | Righe e colonne piatte | Piatta, orientata alle colonne |
| Nomi dei campi | Inclusi inline con ogni valore | Solo riga di intestazione | Memorizzati nei metadati del file |
| Convalida | Il file di schema opzionale impone i tipi | Nessuna integrata | Tipi definiti nello schema |
| Leggibile in un editor di testo | Sì, sebbene prolisso | Sì | No |
| Dimensioni tipiche per gli stessi dati | Maggiore | Media | Minore |
| Origine tipica | Sistemi aziendali e standard di interscambio | Esportazioni e report | Piattaforme dati |
Se lavori regolarmente con questi formati, le nostre guide di approfondimento sui file TSV e sui file Parquet coprono il lato piatto di questa tabella.
Come Excel gestisce il formato
È qui che la maggior parte degli analisti incontra questo formato, e la documentazione ufficiale è insolitamente chiara su ciò che accade.
Il percorso di importazione non si trova nella barra multifunzione principale. Le istruzioni di importazione di Microsoft indicano di "Fare clic su Sviluppo > Importa". La pagina indirizza inoltre i lettori ai passaggi per mostrare tale scheda, poiché è nascosta per impostazione predefinita.
Il flusso di lavoro di base prevede, per usare le parole di Microsoft, "cinque fasi". Si aggiunge un file di schema a una cartella di lavoro, quindi si mappano i suoi elementi su celle o tabelle. Si importa il file di dati e si associano gli elementi a quelle celle mappate. Da lì si lavora in Excel e si esportano nuovamente i dati modificati.
Due comportamenti contano più degli altri.
Excel ipotizzerà uno schema se non ne viene fornito uno. Se si importa senza prima aggiungere uno schema, "Excel tenta di dedurre uno schema per l'utente". Tale ipotesi è "basata sui tag definiti nel file di dati XML".
L'ipotesi viene quindi memorizzata con la cartella di lavoro. La pagina rileva inoltre che "non è possibile esportare lo schema dedotto da Excel come file di dati di schema XML separato (.xsd)".
La nidificazione viene appiattita durante l'importazione. Microsoft descrive il risultato di un'apertura in sola lettura. Si tratta di "una tabella bidimensionale con righe e colonne che mostra i tag XML come intestazioni di colonna". L'elemento radice viene "utilizzato come titolo".
Questo appiattimento è esattamente ciò che si desidera per l'analisi ed è esattamente il punto in cui il significato va perduto. Una gerarchia a tre livelli si trasforma in colonne, e la relazione tra genitore e figlio sopravvive solo nel modo in cui sono stati nominati i tag.
Vantaggi principali
I dati si spiegano da soli. I nomi dei campi viaggiano insieme ai valori, quindi un file separato dalla sua documentazione rimane comunque interpretabile.
La convalida fa parte dell'ecosistema. Uno schema può imporre tipi di dati e campi obbligatori prima che i dati ti raggiungano, cosa che nessuna semplice esportazione delimitata è in grado di fare.
Supera i confini organizzativi. Come osserva la panoramica ufficiale, il formato "segue le linee guida standard del settore e può essere elaborato da una varietà di database e applicazioni".
La gerarchia viene preservata. Una fattura con dodici singole voci rimane un'unica fattura, anziché dodici righe che ripetono i valori dell'intestazione.
Limiti da conoscere
Prolissità. La ripetizione dei nomi dei tag intorno a ogni valore rende i file di grandi dimensioni rispetto agli stessi dati in un formato piatto.
I nomi dei tag non sono standardizzati tra i diversi fornitori. I tag personalizzati sono una caratteristica del formato, e il costo è che ogni nuova origine richiede un'interpretazione.
I fogli di calcolo richiedono l'appiattimento della gerarchia. Qualsiasi tabella pivot, grafico o formula richiede una struttura rettangolare, quindi la forma deve cambiare prima dell'inizio dell'analisi.
L'importazione può fallire in fase di convalida. Microsoft rileva che "Excel visualizza la finestra di dialogo Errore di importazione XML quando non è possibile convalidare i dati in base alla mappa XML". Questo ti costringe a tornare allo schema prima di poter iniziare.
Ottenere una risposta senza lottare con la struttura dei dati
La domanda pratica raramente è "come faccio ad aprire questo file". È piuttosto "come faccio a ricavarne un grafico entro oggi pomeriggio".
La strada che funziona è quella che Excel suggerisce già implicitamente. Appiattisci la gerarchia in un rettangolo, decidi quale livello della gerarchia corrisponde a una singola riga e analizza a partire da lì.
Powerdrill Bloom accetta caricamenti in formato Excel, CSV, PDF e documenti, quindi un file sorgente con tag dovrebbe prima essere convertito in CSV o in una cartella di lavoro. L'apertura in sola lettura di Excel produce esattamente quel rettangolo, così come qualsiasi passaggio di conversione nei tuoi strumenti di gestione dati.
Una volta che i dati sono piatti, l'analisi diventa ordinaria. La pagina dell'assistente IA per CSV descrive questo percorso. La pagina dei prezzi riassume il risultato: fai domande sui tuoi dati e "ottieni una risposta fondata con grafici, tabelle ed esportazioni". Se desideri specificamente il grafico, la nostra guida passo-passo su come trasformare un file CSV in un grafico lo spiega dall'inizio alla fine.
Una decisione merita attenzione prima di effettuare la conversione. Scegli deliberatamente la granularità delle righe. Una riga per singola voce e una riga per fattura rispondono a domande diverse.
Conclusione
Il formato è prolisso, autodescrittivo e gerarchico, e queste tre proprietà spiegano tutto il resto sul lavoro con esso. È eccellente per spostare dati tra organizzazioni e scomodo per analizzare i dati all'interno di una sola di esse.
Considera la conversione come una decisione strategica piuttosto che come un compito noioso. Scegli il livello che diventerà una riga e mantieni i nomi dei tag come intestazioni di colonna. Dopodiché, il lavoro è identico a qualsiasi analisi su foglio di calcolo.
Hai uno di questi file fermo in una cartella proprio adesso? Prova Powerdrill Bloom sull'esportazione appiattita e visualizza il grafico prima di investire in una pipeline.
Domande frequenti
A cosa serve un file XML?
Viene utilizzato per spostare dati strutturati tra sistemi e organizzazioni. Le fonti comuni includono messaggi bancari, fatture elettroniche, esportazioni ERP e HR, feed di prodotti per la vendita al dettaglio e le parti interne dei documenti Office.
Qual è la differenza tra XML e CSV?
Uno è gerarchico e contiene i nomi dei campi inline con ogni valore. L'altro è piatto e si affida a una singola riga di intestazione. Il formato con tag può anche essere convalidato rispetto a un file di schema, cosa che un'esportazione delimitata non può fare.
Come si apre un file XML in Excel?
Il percorso documentato da Microsoft è Sviluppo > Importa, e la scheda Sviluppo è nascosta per impostazione predefinita. È anche possibile aprire il file in sola lettura, il che produce una tabella bidimensionale che utilizza i tag come intestazioni di colonna.
Ho bisogno di un file di schema per utilizzare i dati?
No. La documentazione di Microsoft afferma che Excel tenta di dedurre uno schema dai tag quando non ne viene fornito alcuno. Lo schema dedotto viene conservato con la cartella di lavoro e non può essere esportato come file .xsd separato.
Cos'è XSLT?
Microsoft lo descrive come uno standard di trasformazione definito insieme al formato dei dati. Utilizza file .xslt "per applicare stili e trasformare i dati XML in diversi formati di presentazione".