Come usare il formattatore XML
- Incolla il tuo XML nella casella di input: una busta SOAP, un feed RSS, una sitemap, un file SVG o un file di configurazione.
- Fai clic su Formatta per formattarlo con un elemento per riga e un'indentazione coerente.
- Fai clic su Minifica per rimuovere gli spazi tra i tag e ottenere la versione più compatta.
- Se il documento non è ben formato, il controllo segnala che cosa non va e dove, così puoi andare dritto al problema.
- Copia il risultato nel tuo editor o nella tua richiesta.
L'analisi avviene in locale nel tuo browser. L'XML che incolli non viene mai caricato né memorizzato, quindi puoi lavorare in sicurezza con payload API interni e configurazioni.
Che cos'è l'XML e perché formattarlo?
L'XML (Extensible Markup Language) è uno standard W3C per rappresentare dati strutturati come elementi annidati con nome e attributi facoltativi. È ancora ovunque: servizi web SOAP, feed RSS e Atom, sitemap XML, file di Microsoft Office, layout Android, file Maven pom.xml e grafica SVG sono tutti XML.
L'XML generato dal software è spesso scritto su una sola riga o con un'indentazione irregolare. La formattazione rende visibile la gerarchia, così puoi seguire quale elemento appartiene a quale genitore e individuare un valore nel posto sbagliato. La minificazione è utile quando devi incorporare l'XML in un altro payload o ridurne le dimensioni.
XML ben formato e XML valido
Questi due termini vengono spesso confusi:
- Un XML ben formato rispetta le regole di sintassi della specifica XML: un solo elemento radice, tag correttamente annidati e chiusi, valori degli attributi tra virgolette e caratteri speciali con escape. Ogni parser XML lo richiede.
- Un XML valido è ben formato e conforme a uno schema (un DTD, XSD o RELAX NG) che definisce quali elementi e attributi sono ammessi.
Questo strumento verifica che il documento sia ben formato. La validazione dello schema richiede il file dello schema e di solito si fa negli strumenti di build o nell'IDE.
Errori XML comuni e come risolverli
Più di un elemento radice. Un documento XML deve avere esattamente un elemento di primo livello:
<item>A</item>
<item>B</item>
Racchiudi gli elementi fratelli in un unico genitore:
<items>
<item>A</item>
<item>B</item>
</items>
Tag non corrispondenti o annidati in modo errato. I tag devono chiudersi in ordine inverso e i nomi distinguono maiuscole e minuscole, quindi <Name>…</name> è un errore, come lo è <b><i>text</b></i>.
Caratteri speciali senza escape. Un < o un & isolato nel testo blocca l'analisi. Usa le entità predefinite:
| Carattere | Entità | Quando è obbligatoria |
|---|---|---|
< | < | Sempre nel testo e nei valori degli attributi |
& | & | Sempre nel testo e nei valori degli attributi |
> | > | Consigliata; obbligatoria nella sequenza ]]> |
" | " | Nei valori degli attributi tra virgolette doppie |
' | ' | Nei valori degli attributi tra virgolette singole |
Per esempio, un URL in una sitemap deve essere scritto come <loc>https://example.com/?a=1&b=2</loc>. In alternativa, racchiudi grandi blocchi di testo in una sezione <![CDATA[ … ]]>, dove i caratteri di markup non vengono interpretati.
Attributi senza virgolette. A differenza dell'HTML, l'XML richiede le virgolette attorno a ogni valore di attributo: <user id="42">, non <user id=42>.
Contenuto prima della dichiarazione XML. Se presente, <?xml version="1.0" encoding="UTF-8"?> deve essere la primissima cosa nel file. Anche un solo spazio o una riga vuota prima rende il documento non ben formato.
Consigli e buone pratiche
- Dichiara la codifica e salva i file in UTF-8 per evitare problemi con i caratteri accentati.
- Fai attenzione quando formatti documenti in cui gli spazi hanno significato, come il contenuto misto o gli elementi che usano
xml:space="preserve"; aggiungere a capo può cambiare il valore del testo. - Usa i namespace in modo coerente: un prefisso come
soap:deve essere dichiarato con un attributoxmlns:soapsull'elemento o su un suo antenato. - Devi incorporare XML in un URL o in una stringa JSON? Codificalo prima con il codificatore URL o con il codificatore Base64.
Domande frequenti
L'HTML è uguale all'XML?
No. L'HTML è più permissivo: ammette elementi non chiusi come <br>, attributi senza virgolette e nomi di tag senza distinzione tra maiuscole e minuscole. XHTML è la variante di HTML che segue le regole dell'XML. Per riordinare normali pagine web, usa invece il Formattatore HTML.
La formattazione modifica i miei dati?
La formattazione aggiunge spazi tra gli elementi e la minificazione li rimuove. Nomi degli elementi, attributi e contenuto testuale restano uguali, ma nei documenti in cui gli spazi nel testo sono significativi l'indentazione aggiuntiva può contare.
Questo strumento valida rispetto a uno schema XSD?
No. Verifica che il documento sia ben formato. La validazione rispetto a un DTD o a un XSD richiede lo schema e un parser validante.
Perché il mio XML dà errore su una e commerciale?
In XML, & avvia sempre un riferimento a un'entità. Una e commerciale isolata, frequente negli URL e nei nomi di aziende, va scritta come & o inserita in una sezione CDATA.
Aggiornato