Vai al contenuto
100% locale

Valutatore XPath

Esegui un'espressione XPath 1.0 su XML incollato e vedi ogni corrispondenza, il suo valore e il suo percorso.

Ingresso
Uscita

Valutatore XPath

Incolla un documento XML, scrivi un'espressione XPath 1.0 e questo strumento elenca ogni nodo che corrisponde — senza bisogno di scrivere uno script o aprire un debugger per verificare se un selettore trova veramente quello che ti aspetti. È stato creato per il momento in cui stai guardando un foglio di stile XSLT, una regola di scraping web o un percorso XQuery che non restituisce quello che prevedevi, e hai bisogno di testare l'espressione isolatamente sul documento reale.

L'opzione Tipo di risultato controlla come viene interpretato il valore dell'espressione: "Set di nodi" elenca tutti gli elementi, attributi, nodi di testo o commenti corrispondenti; "Stringa", "Numero" e "Booleano" convertono l'intera espressione allo stesso modo delle funzioni string(), number() e boolean() di XPath, che è come verifichi un confronto o una chiamata count() isolatamente. Per i risultati del set di nodi, "Mostra i risultati come" alterna tra il contenuto di testo di ogni corrispondenza e il suo XML serializzato completo, e puoi numerare le corrispondenze o prefissare ciascuna con il percorso risolto (come /catalog/book[2]/title) che l'ha trovata.

La sintassi supportata copre il sottoinsieme che le persone usano effettivamente: i dieci assi standard (child, descendant, descendant-or-self per //, parent, ancestor, self, following-sibling, preceding-sibling e attribute per @), caratteri jolly, predicati posizionali e booleani, l'operatore union e funzioni comuni — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() e gli operatori aritmetici e di confronto. Le variabili, document(), key() e l'asse namespace non sono supportati. I documenti con spazi dei nomi richiedono di legare il prefisso al suo URI in "Binding dello spazio dei nomi", una coppia prefisso=URI per riga — o attiva "Ignora gli spazi dei nomi" per trovare corrispondenze solo per nome locale, indipendentemente dal prefisso.

Tutto viene eseguito localmente nel tuo browser: l'XML che incolli e l'espressione che scrivi contro di esso non vengono mai caricati da nessuna parte, quindi è sicuro testare contro risposte API reali, esportazioni di configurazione o frammenti di log di produzione. XML non valido e espressioni non valide vengono segnalati con ciò che non è riuscito e perché, non con un risultato vuoto.

FAQ

Quali parti di XPath 1.0 sono supportate?
I dieci assi standard, i test di nome e tipo di nodo (inclusi caratteri jolly e text()/comment()/node()), i predicati posizionali e booleani, l'operatore union (|), gli operatori aritmetici e di confronto, e funzioni comuni come position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() e sum(). Le variabili ($x), document(), key() e l'asse namespace non sono supportati.
Perché la mia espressione non corrisponde a nulla in un documento con spazi dei nomi?
Un test di nome senza prefisso corrisponde solo agli elementi senza spazio dei nomi — è la stessa regola che seguono i processori XPath reali. Lega il prefisso che la tua espressione usa all'URI dello spazio dei nomi del documento in "Binding dello spazio dei nomi" (una coppia prefisso=URI per riga), o attiva "Ignora gli spazi dei nomi" per trovare corrispondenze solo per nome locale.
Qual è la differenza tra i quattro tipi di risultato?
"Set di nodi" elenca i nodi corrispondenti stessi. "Stringa", "Numero" e "Booleano" invece convertono l'intera espressione allo stesso modo delle funzioni string(), number() e boolean() di XPath — utile per verificare direttamente un'espressione count() o un confronto senza avvolgerlo in un predicato.
Cosa succede con XML non valido o un'espressione non valida?
Lo strumento segnala quale non è riuscito e perché — un tag non chiuso o un elemento non corrispondente per XML, un token inaspettato o un prefisso dello spazio dei nomi non legato per l'espressione — invece di restituire un risultato vuoto o fuorviante.
Il mio documento XML viene caricato da qualche parte?
No. L'analisi e la valutazione vengono eseguite interamente nel tuo browser — il documento e l'espressione non lasciano mai il tuo dispositivo.