Strumenti
IT

XPath tester online

Scrivi un'espressione XPath e vedi il risultato mentre digiti: gli elementi, gli attributi e il testo corrispondenti, oppure il numero, la stringa o il valore booleano restituito dall'espressione. Il tester usa il motore XPath 1.0 integrato nel tuo browser.

Esempi – clicca per provarli:

    Privacy garantita: i tuoi dati vengono elaborati nel browser e non vengono mai caricati su alcun server.

    Come testare un'espressione XPath

    1. Incolla il tuo XML, apri un file o usa il catalogo prodotti di esempio.
    2. Scrivi un'espressione XPath o clicca su uno degli esempi. Il risultato si aggiorna mentre scrivi e Invio la valuta subito.
    3. Leggi il risultato: il numero di nodi corrispondenti con tipo e contenuto, oppure il numero, la stringa o il valore booleano restituito dall'espressione.

    Prontuario XPath: le espressioni più usate

    EspressioneSeleziona
    /catalogL'elemento radice catalog
    //productOgni elemento product, a qualsiasi profondità
    /catalog/product/nameIl name di ogni prodotto, passo dopo passo a partire dalla radice
    //product/@idL'attributo id di ogni prodotto
    //product[@category='books']I prodotti il cui attributo category è books
    //product[price > 20]I prodotti con prezzo superiore a 20, confrontati come numeri
    //product[contains(name, 'USB')]I prodotti il cui nome contiene “USB” (distingue maiuscole e minuscole)
    //product[not(tags)]I prodotti senza un figlio tags
    (//product)[1]Il primo prodotto del documento
    //product[1]Il primo prodotto all'interno di ciascun elemento padre
    //product[last()]L'ultimo prodotto all'interno di ciascun elemento padre
    //name/text()I nodi di testo all'interno di name
    //price/..L'elemento padre di ogni price
    //*[local-name()='product']Gli elementi product in qualsiasi namespace
    count(//product)Il numero di prodotti
    sum(//price)La somma di tutti i prezzi
    string(//product[1]/name)Il nome del primo prodotto come stringa

    Namespace in XPath

    XPath 1.0 non prevede un namespace predefinito. In un documento con xmlns="…", come una sitemap o una fattura NF-e, //url non trova nulla, perché gli elementi appartengono a quel namespace. Per questo il tester associa il namespace predefinito al prefisso x: (oppure d: se x è già in uso), così //x:url/x:loc funziona. I prefissi dichiarati nel documento, come cfdi: in una fattura CFDI, si possono usare così come sono scritti. Negli strumenti senza configurazione dei namespace, //*[local-name()='url'] funziona ovunque.

    Domande frequenti

    Quale versione di XPath supporta il tester?

    XPath 1.0, la versione integrata in tutti i browser e nella maggior parte delle librerie XML. Le funzioni di XPath 2.0 e successive, come matches(), lower-case() o string-join(), non sono disponibili.

    Perché la mia espressione XPath non restituisce nulla?

    Le cause più comuni sono un namespace predefinito (usa il prefisso x: indicato sotto gli esempi), maiuscole e minuscole diverse – XPath distingue tra maiuscole e minuscole – e le posizioni, che partono da 1, non da 0.

    Quanti risultati vengono mostrati?

    Vengono contate tutte le corrispondenze e le prime 500 sono elencate con il tipo di nodo e il contenuto.

    Il mio XML viene caricato su un server?

    No. L'XML viene analizzato e interrogato nel tuo browser. Solo un URL che carichi viene recuperato tramite il nostro server.