Convertitore gratuito da XML a CSV

Converti dati XML in formato CSV con rilevamento automatico.

Nessun dato lascia il tuo dispositivo

Come usare

  1. Incolla o digita i tuoi dati XML nell'area di sinistra.
  2. Lo strumento rileva automaticamente gli elementi che si ripetono e appiattisce le strutture annidate.
  3. Visualizza l'anteprima dei tuoi dati a destra. Clicca su Scarica il CSV per salvare il file convertito.

Domande frequenti

Come vengono gestiti gli elementi annidati?

Gli elementi annidati sono appiattiti con la notazione a punti. Per esempio, «person.address.city» diventa una singola intestazione di colonna.

E se gli elementi hanno un numero di figli diverso?

I valori mancanti vengono lasciati vuoti nell'output CSV. Tutte le intestazioni di colonna sono preservate anche se alcune righe non hanno certi valori.

Come rileva lo strumento gli elementi che si ripetono?

Lo strumento identifica automaticamente il tipo di elemento più frequente nel tuo XML e lo usa come fonte di righe.

Perché la conversione da XML a CSV è così frequente

XML è verboso e gerarchico; CSV è piatto e denso. Una grande quantità di dati reali utili vive in XML: sitemap.xml, feed RSS/Atom, file di esportazione WordPress, configurazioni Apple plist, elenchi di dipendenze Maven pom.xml, tracce GPS (GPX), segnaposto Google Earth (KML), formati per estratti conto bancari (CAMT.053, MT940 in forma XML), feed di prodotti e-commerce, dati sanitari in HL7 v3, report finanziari in XBRL, spartiti musicali in MusicXML; quasi nessuno di essi può essere analizzato senza prima essere appiattito in righe. Excel, Google Sheets, SQL LOAD DATA, Pandas, R, Tableau, Power BI consumano tutti CSV immediatamente; portare il proprio XML in uno di questi strumenti richiede una conversione preliminare.

La discrepanza fondamentale

XML ammette annidamenti arbitrari; CSV è bidimensionale. Non esiste una mappatura universale senza perdite da XML→CSV. Ogni convertitore deve fare assunzioni su quale livello dell'albero rappresenta le «righe» e su come gestire l'annidamento più profondo. Le due forme comuni:

Lo strumento rileva automaticamente l'elemento ripetuto trovando il figlio diretto più frequente della radice, il che è corretto per circa il 90% dei feed XML reali. Se il proprio XML non si adatta a questo pattern, è necessario pre-elaborarlo con un rapido script XPath o modificarlo manualmente per portarlo a una forma a record ripetuti.

Feed XML che si convertono bene

Come vengono gestiti attributi, annidamento e figli ripetuti

Codifica: la trappola di Excel

L'XML dichiara la propria codifica tramite <?xml version="1.0" encoding="UTF-8"?>. CSV non ha dichiarazione di codifica; il programma di apertura la intuisce. Excel su Windows utilizza per impostazione predefinita Windows-1252, quindi aprire un CSV in UTF-8 senza un Byte Order Mark mostra mojibake (é diventa é, ü diventa ü). La soluzione: salvare il CSV con un BOM UTF-8 () all'inizio, usare la procedura guidata di Excel Dati → Da testo/CSV e selezionare esplicitamente UTF-8, oppure aprire il file in Google Sheets, che gestisce correttamente l'UTF-8 senza BOM.

Scelta del delimitatore

Per RFC 4180, il delimitatore CSV canonico è la virgola. Lo strumento supporta anche punto e virgola, tabulazione e pipe; scegliere quello più adatto al proprio pubblico:

Per RFC 4180, i campi che contengono il delimitatore scelto, interruzioni di riga o virgolette doppie vengono automaticamente racchiusi tra virgolette doppie; le virgolette doppie incorporate vengono escaped raddoppiandole. Le stesse regole di quotatura si applicano indipendentemente dal delimitatore scelto.

Privacy

I payload XML contengono spesso informazioni riservate: transazioni di estratti conto bancari, dati interni dei dipendenti, sitemap estratte che rivelano URL interni, cartelle cliniche, cataloghi prodotti coperti da NDA. Il DOMParser integrato nel browser viene eseguito interamente nella scheda, senza richieste di rete, senza roundtrip al server, senza voci di log. I dati passano dagli appunti a un albero analizzato in memoria, vengono percorsi una volta per l'appiattimento e il risultato finisce nella textarea di output. Se non si fa clic su Scarica, nulla viene scritto su disco.

Errori comuni

  1. Incollare XML che non ha forma a record ripetuti. Un documento come un singolo file di configurazione senza ripetizioni non si appiattirà in un CSV utilizzabile. Il convertitore è progettato per XML di tipo «lista di elementi simili».
  2. Aspettarsi che i prefissi degli attributi vengano preservati. <product id="42"> diventa una colonna chiamata id, non product@id o product.id. Se si reimporta il CSV altrove come XML, sarà necessario rimappare.
  3. Delimitatore sbagliato per il pubblico. Un CSV con virgola aperto in un'installazione francese di Excel può collassare in una singola colonna. Abbinare il delimitatore al destinatario del file.
  4. Dimenticare il BOM UTF-8 per Excel. I caratteri non latini appaiono corrotti in Excel su Windows senza il BOM. Aggiungere il BOM oppure aprire il file in Google Sheets o Excel per il web.
  5. Tentare di convertire XHTML o DocBook. L'XML a documento con contenuto misto non si appiattisce in modo pulito; per quei casi usare una pipeline XML/XSLT appropriata, non un convertitore tabulare.
  6. Rischio preesistente di CSV injection nei valori dei campi. Se l'XML contiene testo generato dagli utenti e si intende aprire l'output in Excel o Sheets, le celle che iniziano con =, +, - o @ vengono interpretate come formule. OWASP documenta questo come una vera classe di attacchi; sanificare prima di condividere esportazioni di contenuti generati dagli utenti.
  7. Elementi figlio ripetuti. Se l'XML ha wrapper <tags> con più figli <tag>, l'output piatto non può rappresentarli in modo pulito. È possibile appiattire su una riga per tag (con i campi del genitore ripetuti) oppure pre-elaborare l'XML per inlineare i tag come stringa delimitata.

Altre domande frequenti

Lo strumento validerà il mio XML rispetto a uno schema?

No. Verifica solo la correttezza della struttura (well-formedness), tramite il DOMParser integrato nel browser. Per la validazione XSD o RELAX NG, usare uno strumento dedicato come xmllint, Saxon o il validatore XML Schema del W3C; la well-formedness è sufficiente per un appiattimento sicuro in CSV.

Quanto può essere grande il mio XML?

Quanto ne può contenere il browser. Non c'è un limite lato server perché non c'è alcun server coinvolto. Decine di megabyte vengono convertiti in uno o due secondi su un dispositivo moderno. Se si hanno centinaia di megabyte di XML, è opportuno suddividerli in batch prima della conversione; far elaborare tutto a una singola scheda del browser può incontrare limiti di memoria.

Lo strumento gestisce i namespace XML?

Sì, gli elementi con namespace come <atom:link> vengono riconosciuti e il prefisso viene preservato nel nome della colonna. Se non si desidera il prefisso nelle intestazioni CSV, eseguire un rapido trova e sostituisci sull'output per rimuoverli.

Il mio XML viene caricato da qualche parte?

No. Tutta l'analisi e l'appiattimento avvengono nel browser tramite il DOMParser integrato. Il contenuto della textarea non viene mai trasmesso, registrato o memorizzato. Quando la scheda viene chiusa, i dati sono persi.

Qual è la differenza tra questo strumento e il convertitore da JSON a CSV?

Stesso obiettivo (appiattire dati gerarchici in righe) ma formati di input diversi. XML è più verboso, ammette attributi, ha namespace e usa riferimenti ad entità per i caratteri speciali. Il convertitore da XML a CSV gestisce specificamente queste caratteristiche; il convertitore da JSON a CSV si aspetta un input array-di-oggetti. Se si ha JSON, usare quello strumento; se si ha XML, questo fornirà un risultato più pulito.

È possibile ottenere la conversione inversa (da CSV a XML)?

Non con questo strumento, ma la conversione inversa è generalmente più semplice: scegliere un nome per l'elemento riga, avvolgere ogni riga e convertire ogni colonna in un elemento figlio. Un piccolo script Python o Node con csv e xml.etree gestisce questo in 20 righe. In alternativa, usare uno strumento per dati strutturati come Power Query di Excel, che può esportare CSV in XML con uno schema scelto.

Strumenti correlati

Convertitore da JSON a CSV Convertitore JSON in YAML Visualizzatore di fogli di calcolo gratuito