Analizzatore XML

Formatta, valida e interroga documenti XML istantaneamente. Basato su API native del browser per massima velocità e privacy.

Formatta e minimizza Interrogazione XPath Validazione

Come utilizzare l'analizzatore XML

1

Incolla il tuo XML

Copia e incolla il contenuto XML nel campo di input, oppure clicca su Carica XML di esempio.

2

Formatta e valida

Usa Formatta per abbellire, Minimizza per comprimere, o Valida per verificare errori.

3

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

Qual è la differenza tra XML ben formato e valido?

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.

Questo strumento valida rispetto a uno schema XSD?

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.

Quale versione di XPath è supportata?

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.

Cosa sono i namespace XML e come si leggono?

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.

Come seleziona i nodi XPath?

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.

Che cos'è XXE e potrebbe riguardare 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.

Qual è la differenza tra parsing DOM e SAX?

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.

Come includo < o & nel contenuto XML?

Mettili in escape come &lt; e &amp; 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.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}