Formattatore XML
Abbellisci, minifica e valida XML nel browser — nessun dato viene caricato. Rientra XML disordinato e segnala errori di correttezza con riga/colonna. Gratuito, privato, senza registrazione.
Cos'è un Formattatore XML e Perché Usarne Uno?
XML (Extensible Markup Language) è un formato basato su testo per dati strutturati, usato ovunque: dai servizi web e file di configurazione ai feed RSS, alle API SOAP, ai documenti office (DOCX, XLSX), alla grafica SVG e ai file di layout Android. A differenza di JSON, XML supporta commenti, namespace, contenuto misto (testo ed elementi intercalati) e dichiarazioni del tipo di documento — rendendolo il formato preferito per l'integrazione enterprise, lo scambio di documenti e ovunque i dati strutturati debbano coesistere con markup leggibile.
L'XML nel mondo reale è spesso mal rientrato o completamente minificato — le risposte API arrivano su una singola riga, i file di configurazione accumulano indentazione incoerente e l'XML generato dai serializzatori non aggiunge alcuno spazio bianco. Un formattatore XML prende quell'input disordinato e lo rientra in una struttura pulita e gerarchica dove ogni livello di annidamento è visivamente chiaro. Questo è essenziale per la revisione del codice, il debug, la documentazione e la comprensione di schemi XML sconosciuti.
**Cosa fa questo strumento di diverso rispetto a un semplice editor di testo:**
**1. Validazione della correttezza formale con posizione precisa dell'errore.** Il formattatore usa il DOMParser del browser (lo stesso motore che analizza HTML e SVG) per analizzare l'XML. Se il documento non è ben formato — tag non corrispondenti, elementi non chiusi, caratteri non codificati o più elementi radice — il parser riporta il numero esatto di riga e colonna dove ha fallito. Questo è molto più rapido che leggere l'XML grezzo cercando dove un tag è stato accidentalmente lasciato aperto.
**2. Formattazione senza perdite.** Il formattatore preserva commenti, istruzioni di elaborazione, sezioni CDATA, dichiarazioni di namespace, ordine degli attributi e tutto il contenuto testuale esattamente. Aggiusta solo gli spazi bianchi tra i tag degli elementi. Puoi formattare in sicurezza qualsiasi XML a cui tieni — nulla di significativo cambierà.
**3. Minificazione per uso in produzione.** Il minificatore rimuove tutti gli spazi bianchi inter-elemento non significativi, producendo la rappresentazione XML valida più piccola. Questo è il giusto passaggio di preelaborazione prima di archiviare XML in una colonna di database, inserirlo come stringa in JSON o trasmetterlo su un canale dove il numero di byte è limitato.
**4. Privacy 100% basata su browser.** L'XML sanitario (HL7, FHIR), i dati finanziari, i payload SOAP con credenziali e i file di configurazione interni sono tutti payload XML comuni che contengono dati sensibili. Questo strumento non carica nulla — tutta l'elaborazione avviene nel motore JavaScript del browser. Vedi gli strumenti complementari se hai bisogno di convertire invece di formattare: Convertitore XML in JSON per convertire XML in JSON, e Convertitore JSON in XML per la direzione inversa.
<!-- Minified XML input -->
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01"><name>Wireless Headphones</name><price currency="USD">79.99</price></product></catalog>
<!-- After formatting with 2-space indent -->
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<product id="p01">
<name>Wireless Headphones</name>
<price currency="USD">79.99</price>
</product>
</catalog> Funzionalità Principali
Abbellisci con Rientro a 2 o 4 Spazi
Rientra l'XML in una gerarchia pulita e leggibile. Scegli indentazione a 2 spazi (più comune per servizi web, RSS e file di configurazione) o 4 spazi (comune negli schemi XML enterprise) prima della formattazione.
Minifica — Rimuovi Spazi Bianchi Non Significativi
Rimuove tutti gli spazi bianchi tra i tag degli elementi senza toccare il contenuto testuale, producendo l'XML valido più compatto. Ideale per archiviazione, trasmissione o incorporamento come stringa all'interno di JSON o altri formati.
Validazione della Correttezza Formale con Errori Riga/Colonna
Usa il DOMParser integrato del browser per validare la struttura XML. Riporta il numero esatto di riga e colonna del primo errore di correttezza formale — tag non corrispondenti, elementi non chiusi, caratteri non codificati — per un debug rapido.
Senza Perdite: Preserva Commenti, Namespace e Attributi
Commenti, istruzioni di elaborazione, sezioni CDATA, dichiarazioni di namespace e ordine degli attributi sono tutti preservati esattamente. Vengono modificati solo gli spazi bianchi non significativi tra i tag — il contenuto non viene mai alterato.
100% Basato su Browser — Nessun Upload, Nessun Server
Tutta l'elaborazione avviene localmente nel browser. I payload XML contenenti credenziali, dati sanitari, registri finanziari o configurazioni interne non vengono mai trasmessi ad alcun server e mai registrati.
Funziona con SOAP, RSS, SVG, XHTML e XML Android
Gestisce qualsiasi applicazione XML ben formata: envelope SOAP con header WS-Security, feed RSS/Atom, file SVG, documenti XHTML, layout XML Android, Maven POM e file di build Maven/Ant.
Esempi
XML Disordinato / Minificato
<?xml version="1.0" encoding="UTF-8"?><catalog><product id="p01" category="electronics"><name>Wireless Headphones</name><price currency="USD">79.99</price><stock>142</stock><tags><tag>audio</tag><tag>bluetooth</tag></tags></product><product id="p02" category="books"><name>Learning XML</name><price currency="USD">29.99</price><stock>55</stock></product></catalog>
Un catalogo prodotti XML compatto su una riga. Clicca Formatta per rientrarlo in un albero leggibile con indentazione a 2 spazi. La gerarchia degli elementi, gli attributi e il contenuto testuale sono preservati esattamente — la formattazione è puramente estetica.
Frammento di Feed RSS
<rss version="2.0"><channel><title>Go Tools Blog</title><link>https://go-tools.org/blog</link><description>Developer tools, tips and tutorials</description><item><title>Understanding XML Namespaces</title><link>https://go-tools.org/blog/xml-namespaces-guide</link><pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate><description>A deep dive into XML namespace declarations, prefixes, and scope rules with practical examples.</description></item><item><title>XML vs JSON: When to Use Each</title><link>https://go-tools.org/blog/xml-vs-json</link><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item></channel></rss>
Un feed RSS 2.0 con due elementi compresso su una riga. Dopo la formattazione, i metadati del canale e ogni elemento appaiono chiaramente rientrati, rendendo facile ispezionare la struttura del feed, aggiungere nuovi elementi o confrontare con i requisiti di un validatore di feed.
Envelope SOAP
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:UsernameToken><wsse:Username>api-client</wsse:Username><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-ext-1.0.xsd#PasswordText">s3cr3t</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><GetOrderRequest xmlns="http://example.com/orders"><OrderId>ORD-20260529-001</OrderId><IncludeLineItems>true</IncludeLineItems></GetOrderRequest></soap:Body></soap:Envelope>
Un envelope SOAP 1.1 con un header WS-Security e un body GetOrder, che utilizza tre prefissi di namespace (soap:, wsse: e default). La formattazione rende immediatamente chiara la separazione header/body e le dichiarazioni di namespace — essenziale per il debug delle integrazioni SOAP e la lettura dei payload generati da WSDL.
Come Usarlo
- 1
Incolla il tuo XML
Inserisci o incolla il tuo XML nel campo di input qui sopra. Puoi anche cliccare 'Carica esempio' per provare un campione (un XML di catalogo prodotti minificato che si formatta bene).
- 2
Scegli un'azione
Clicca Formatta per abbellire con indentazione, Minifica per rimuovere gli spazi bianchi, o Valida per verificare la correttezza formale. Seleziona 2 o 4 spazi per la dimensione del rientro prima della formattazione.
- 3
Copia l'output
L'XML elaborato appare nel pannello di output. Clicca Copia per copiarlo negli appunti. Se Valida ha trovato errori, il banner di errore mostra il numero esatto di riga e colonna.
Errori XML Comuni
Tag Non Corrispondenti
I nomi dei tag XML sono sensibili alla maiuscola/minuscola e devono corrispondere esattamente.
<products>
<Item>
<name>Widget</name>
</item>
</products> <products>
<item>
<name>Widget</name>
</item>
</products> Ampersand o Segno di Minore Non Codificato
I caratteri & e < sono riservati in XML e devono essere codificati al di fuori delle sezioni CDATA. Un & nudo causa un errore del parser anche nei valori degli attributi. Usa & per & e < per <. Il segno di maggiore > dovrebbe essere codificato come > nel contenuto testuale, anche se i parser sono più tolleranti al riguardo.
<query>price > 10 & stock > 0</query>
<query>price > 10 & stock > 0</query>
Attributi Non Tra Virgolette o Con Virgolette Improprie
Tutti i valori degli attributi XML devono essere racchiusi tra virgolette singole o doppie. I valori degli attributi senza virgolette sono validi in HTML5 ma sono un errore di correttezza formale in XML. Inoltre, un valore contenente una virgoletta doppia deve usare le virgolette singole come delimitatori (o codificare la virgoletta come ").
<product id=p01 label="It's a "widget"">
<product id="p01" label="It's a "widget"">
Più Elementi Radice
Un documento XML deve avere esattamente un elemento radice che contenga tutti gli altri elementi. Un errore comune quando si assemblano frammenti XML è ritrovarsi con due o più elementi di primo livello affiancati, il che non è XML valido (anche se è comune in HTML). Avvolgi tutti gli elementi fratelli in un singolo contenitore radice.
<user><name>Alice</name></user> <user><name>Bob</name></user>
<users> <user><name>Alice</name></user> <user><name>Bob</name></user> </users>
Dichiarazione XML con Codifica Non Corrispondente
Se il tuo file XML è salvato in UTF-16 o un'altra codifica non UTF-8 ma la dichiarazione indica encoding="UTF-8" (o è assente, il che equivale a UTF-8), alcuni parser lo rifiuteranno o produrranno caratteri errati. Quando si incolla in uno strumento basato su browser, il browser gestisce la codifica automaticamente. Per i file su disco, assicurati che l'attributo encoding corrisponda alla codifica effettiva del file.
<?xml version="1.0" encoding="UTF-8"?> <!-- File is actually saved as UTF-16 -->
<?xml version="1.0" encoding="UTF-16"?> <!-- File saved as UTF-16, declaration matches -->
Sezione CDATA Non Chiusa Correttamente
Una sezione CDATA inizia con . Se la sequenza di chiusura ]]> manca o è digitata in modo errato, il parser tratta tutto ciò che segue come parte della sezione CDATA finché non trova un altro ]]> o raggiunge la fine del documento. Questo si manifesta tipicamente come errori di 'fine documento inattesa'.
<script><![CDATA[
if (a < b && b > c) { return true; }
<!-- ]]> is missing --> <script><![CDATA[
if (a < b && b > c) { return true; }
]]></script> Casi d'Uso Comuni
- Debug di Payload SOAP / Web Service
- Le risposte SOAP dalle API enterprise e dai servizi web legacy arrivano come stringhe XML su una singola riga. Incolla il payload grezzo nel formattatore per vedere immediatamente la struttura dell'envelope, gli header e il body — rendendo facile trovare il campo necessario o individuare un'incompatibilità di namespace. Vedi anche: Convertitore XML in JSON se hai bisogno di elaborare ulteriormente il payload in JavaScript.
- Validazione di File di Configurazione e Descrittori di Deployment
- I file Maven POM, i contesti applicativi Spring XML, il server.xml di Tomcat, i file Android Manifest e molti altri file di configurazione Java/enterprise sono XML. Passali attraverso Valida prima di eseguire il commit per rilevare tag non corrispondenti o problemi di codifica che altrimenti emergeranno solo in fase di build o deploy.
- Formattazione dell'Output di Feed RSS e Atom
- I feed RSS 2.0 e Atom 1.0 sono XML. Quando si sviluppa un generatore di feed o si eseguono debug di problemi di compatibilità con i lettori di feed, formatta l'XML grezzo del feed per ispezionare i metadati del canale, la struttura degli elementi e le dichiarazioni di namespace richieste fianco a fianco.
- Lettura e Modifica di File SVG
- I file SVG esportati da Figma, Illustrator o Sketch sono XML valido ma sono spesso minificati o contengono indentazione eccessiva dall'esportatore. Formatta l'SVG per ottenere un albero di elementi pulito e navigabile prima di apportare modifiche manuali a path, gruppi o attributi di stile.
- Preparazione di XML per Archiviazione o Trasmissione
- Quando si archivia XML in una colonna di database, si invia come campo stringa JSON in una richiesta API o si inserisce in una coda di messaggi, usa prima Minifica per rimuovere gli spazi bianchi non necessari. Questo riduce la dimensione del payload ed evita problemi con i parser JSON che potrebbero avere difficoltà con caratteri di controllo non codificati in grandi stringhe XML rientrate.
- Conversione di XML in JSON
- Se hai bisogno di convertire il tuo XML formattato in JSON per l'uso in un'applicazione JavaScript o in un'API REST, usa il nostro Convertitore XML in JSON. Per il contrario — costruire XML da una struttura JSON — usa il Convertitore JSON in XML.
Dettagli Tecnici
- DOMParser del Browser per l'Analisi XML
- L'analisi XML usa il DOMParser nativo del browser con il tipo MIME 'text/xml'. È lo stesso motore che gestisce il rendering di SVG e XHTML nel browser — è completamente conforme a XML 1.0 e riporta gli errori di correttezza formale con informazioni di riga e colonna. Quando il documento non è ben formato, DOMParser restituisce un documento parsererror contenente il messaggio di errore e la posizione, che questo strumento estrae e visualizza.
- Serializzazione dell'Albero DOM per la Formattazione
- La formattazione funziona analizzando l'XML in un albero DOM e poi attraversando l'albero ricorsivamente per produrre output rientrato. Questo approccio preserva la struttura semantica del documento: annidamento degli elementi, contenuto testuale, attributi, sezioni CDATA, istruzioni di elaborazione e commenti sono tutti serializzati di nuovo esattamente come analizzati. Vengono eliminati solo i nodi di testo inter-elemento che contengono solo spazi bianchi — i nodi di testo che contengono caratteri non spazi bianchi sono sempre preservati.
- Minificazione tramite Rimozione dei Nodi di Testo Solo-Spazi
- La minificazione attraversa lo stesso albero DOM e rimuove i nodi di testo il cui contenuto è interamente spazio bianco (spazi, tab, ritorni a capo). I nodi di testo con contenuto misto o non-spazio bianco — i dati effettivi tra i tag — non vengono mai rimossi. Gli attributi e i loro valori sono serializzati senza spazi bianchi aggiuntivi. Il risultato è la rappresentazione XML ben formata più compatta del documento originale.
- 100% Basato su Browser — Nessun Upload, Nessun Server
- Tutta l'elaborazione avviene nel runtime JavaScript del browser. Nessun dato viene trasmesso ad alcun server in nessun momento. Questo è particolarmente importante per i payload XML che contengono frequentemente contenuto sensibile: token WS-Security SOAP, dati paziente HL7, configurazione di servizi interni e formati di messaggi finanziari (FIX, SWIFT ISO 20022). Lo strumento è sicuro da usare con qualsiasi XML che non si vorrebbe incollare in un servizio pubblico.
Buone Pratiche
- Valida Prima di Formattare, Formatta Prima di Eseguire il Commit
- Valida prima il tuo XML per confermare che sia ben formato prima di riformattarlo — il formattatore produrrà silenziosamente output errato se l'input non è XML valido. Una volta validato, formatta e rivedi l'output rientrato prima di eseguire il commit di file di configurazione, template di feed o definizioni WSDL nel controllo versione.
- Usa Rientro a 2 Spazi per i Formati Web, 4 Spazi per XML Enterprise
- L'indentazione a 2 spazi è la convenzione per feed RSS/Atom, SVG, XHTML, XML Android e la maggior parte degli XML web. L'indentazione a 4 spazi è comune negli ambienti Java enterprise (Maven POM, file di contesto Spring, descrittori di deployment JBoss). Adatta la convenzione dei tuoi file e della tua toolchain esistenti.
- Minifica XML Prima di Incorporarlo in JSON
- Se devi incorporare una stringa XML come valore di un campo JSON, minificala sempre prima. L'XML rientrato contiene ritorni a capo e più spazi che devono essere codificati in JSON (\n, più \u0020), gonfiando notevolmente la dimensione del payload. L'XML minificato ha anche molte meno probabilità di attivare limiti di lunghezza riga in proxy intermediari o sistemi di logging.
- Codifica i Caratteri Speciali nel Contenuto Testuale, Usa CDATA con Parsimonia
- Per valori testuali brevi contenenti & o <, usa i riferimenti a entità (&, <) — sono più portabili delle sezioni CDATA e funzionano anche nei valori degli attributi. Riserva le sezioni CDATA () per incorporare grandi blocchi di codice, query SQL o frammenti HTML dove la codifica di ogni carattere speciale renderebbe il contenuto illeggibile.
- Dichiara i Namespace il Prima Possibile
- Dichiara i namespace XML (xmlns:prefix="URI") sull'elemento radice o sull'elemento di livello più alto che usa il prefisso. Dichiarare i namespace in profondità nell'albero del documento rende l'XML più difficile da leggere e può causare problemi con i parser XML basati su stream (SAX, StAX) che elaborano i namespace in modo incrementale. L'esempio dell'Envelope SOAP sopra mostra il pattern raccomandato: tutte le dichiarazioni di namespace sull'elemento radice Envelope.
Domande Frequenti
I miei dati XML vengono inviati a un server quando uso questo strumento?
Cosa controlla il pulsante Valida?
La validazione controlla rispetto a uno Schema XML (XSD) o DTD?
Qual è la differenza tra Formatta (Abbellisci) e Minifica?
La formattazione preserva i commenti e gli attributi XML?
Come si formatta XML con indentazione a 4 spazi invece di 2?
Quali versioni e codifiche XML supporta questo strumento?
Cosa causa un errore di 'correttezza formale' e come si corregge?
Posso usare questo strumento per formattare file XHTML o SVG?
Come gestisce questo strumento i namespace XML?
C'è un limite di dimensione per l'input XML?
Come si converte XML in JSON o JSON in XML?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
JSON Diff (Confronta)
Codifica e formattazione
Confronta due file JSON istantaneamente nel browser. Evidenziazione affiancata, output JSON Patch RFC 6902, ignora campi rumorosi come timestamp e ID. 100% privato, nessun upload.
Formattatore e Validatore JSON
Codifica e formattazione
Formatta, valida e abbellisci JSON direttamente nel browser. Strumento online gratuito con controllo sintassi, rilevamento errori, minifica e copia in un clic. 100% privato.
Validatore JSON Schema
Codifica e formattazione
Valida JSON contro qualsiasi JSON Schema istantaneamente nel browser. Supporta Draft 2020-12, 2019-09 e Draft-07 con messaggi di errore con percorso preciso. 100% privato — nessun upload, nessun account, gratis.
Convertitore JSON in CSV
Codifica e formattazione
Converti JSON in CSV nel browser. Preset RFC 4180, Excel-EU, TSV, Pipe. Appiattisci o stringifica i dati nidificati. 100% privato, nessun upload.