Analizzatore XML
Formatta, valida e interroga documenti XML istantaneamente. Basato su API native del browser per massima velocità e privacy.
L'XML non è ben formato
Risultati
Albero dei nodi
Come utilizzare l'analizzatore XML
Incolla il tuo XML
Copia e incolla il contenuto XML nel campo di input, oppure clicca su Carica XML di esempio.
Formatta e valida
Usa Formatta per abbellire, Minimizza per comprimere, o Valida per verificare errori.
Interroga con XPath
Inserisci un'espressione XPath e clicca Esegui XPath per estrarre nodi specifici.
Cos'è XML?
XML (eXtensible Markup Language) è un linguaggio di markup che definisce un insieme di regole per codificare documenti in un formato leggibile sia dall'uomo che dalla macchina. È ampiamente utilizzato per file di configurazione, scambio di dati (SOAP, RSS, Atom) e archiviazione di documenti.
Caratteristiche principali di XML
Autodescrittivo
XML utilizza tag personalizzati per descrivere la struttura dei dati, rendendo facile comprendere il contenuto e la gerarchia a colpo d'occhio.
Indipendente dalla piattaforma
Essendo testo semplice, XML funziona su tutte le piattaforme, linguaggi di programmazione e sistemi senza problemi di compatibilità.
Estensibile
Puoi definire i tuoi tag e la struttura del documento utilizzando DTD o XML Schema per adattarli a qualsiasi modello dati.
Domande frequenti
L'XML ben formato segue le regole sintattiche di base di XML (annidamento corretto, tag di chiusura, singolo elemento radice). L'XML valido è ben formato E conforme a uno schema (DTD, XSD) che definisce la struttura e i tipi di dati consentiti.
No, questo strumento verifica solo la correttezza sintattica (ben formazione). La validazione basata su schema rispetto a DTD o XSD non è supportata nativamente nel browser.
Il metodo nativo document.evaluate() del browser supporta XPath 1.0. Questo copre la maggior parte delle query comuni inclusi assi, predicati e funzioni come contains(), text() e @attribute.
Un namespace mappa i nomi degli elementi a un URI tramite attributi xmlns - per esempio un elemento atom:feed che dichiara xmlns:atom="http://www.w3.org/2005/Atom". Il prefisso è arbitrario; solo l'URI identifica il namespace, quindi due documenti possono usare prefissi diversi per lo stesso vocabolario. I namespace sono il motivo per cui il matching XPath spesso richiede trucchi con local-name() quando i prefissi differiscono.
Le espressioni XPath 1.0 percorrono l'albero: /rss/channel/item seleziona per percorso, //item trova gli item in qualsiasi punto del documento, item[@type='news'] filtra su un attributo, e predicati come item[1] o item[last()] individuano nodi specifici. È il linguaggio di query alla base di XSLT, di molti framework di test e dell'evaluator di questo strumento.
L'iniezione XXE (XML External Entity) sfrutta un'entità DTD che punta a un percorso di file o a un URL, inducendo un parser lato server a scaricarla - storicamente ha permesso di leggere /etc/passwd o servizi interni. I parser XML dei browser non risolvono le entità esterne, e questo strumento gira interamente nel tuo browser senza round-trip verso il server, quindi l'XML incollato non può innescare letture di file o SSRF.
DOM carica l'intero documento in un albero navigabile in modo arbitrario - intuitivo ma esoso di memoria per file enormi. SAX trasmette eventi in streaming (tag di apertura, testo, tag di chiusura) in un'unica passata con memoria costante - veloce ma solo in avanti. Il JavaScript dei browser espone DOMParser (in stile DOM); lo streaming di XML in JavaScript richiede una libreria o Web Streams.
Mettili in escape come < e & nel testo ordinario - < e & non sono ammessi come caratteri raw nei dati di tipo carattere. Per blocchi di testo ricco di markup, avvolgilo in una sezione CDATA, che non richiede alcun escape fino a quando non incontra la sequenza ]]> alla sua fine. Nel contenuto solo < e & richiedono obbligatoriamente l'escape; > va messo in escape solo quando forma quella sequenza di chiusura.
Strumenti Correlati
Toolkit Parser JSON
Valida, formatta, minimizza e interroga JSON utilizzando JSONPath nel tuo browser con feedback istantaneo sugli errori
Analizzatore CSV
Analizza dati CSV in una tabella visiva con delimitatore configurabile e statistiche delle colonne
Analizzatore YAML
Analizza e converti YAML in JSON e viceversa con validazione
Riferimenti autorevoli
Fonti primarie alla base di questo strumento - standard e specifiche ufficiali, non riassunti di seconda mano.
W3C - Extensible Markup Language (XML) 1.0
La Raccomandazione W3C che definisce l'Extensible Markup Language 1.0, la base del formato.
XML - Wikipedia
Il modello ad albero di XML, i namespace e perché il formato insiste su validità e ben formatezza.
MDN Web Docs - XML
Guida Mozilla all'elaborazione di XML nel browser, incluso l'uso di DOMParser.