Narzędzia
PL

Tester XPath online

Wpisz wyrażenie XPath i obserwuj wynik na bieżąco: pasujące elementy, atrybuty i tekst albo liczbę, ciąg znaków lub wartość logiczną zwracaną przez wyrażenie. Tester korzysta z wbudowanego w przeglądarkę silnika XPath 1.0.

Przykłady – kliknij, aby wypróbować:

    Prywatnie: Twoje dane są przetwarzane w przeglądarce i nigdy nie trafiają na serwer.

    Jak przetestować wyrażenie XPath

    1. Wklej swój XML, otwórz plik lub użyj przykładowego katalogu produktów.
    2. Wpisz wyrażenie XPath lub kliknij jeden z przykładów. Wynik aktualizuje się podczas pisania, a Enter oblicza go natychmiast.
    3. Odczytaj wynik: liczbę pasujących węzłów wraz z ich typem i zawartością albo liczbę, ciąg znaków lub wartość logiczną zwracaną przez wyrażenie.

    Ściągawka XPath

    WyrażenieWybiera
    /catalogElement główny catalog
    //productKażdy element product na dowolnej głębokości
    /catalog/product/nameElement name każdego produktu, krok po kroku od korzenia dokumentu
    //product/@idAtrybut id każdego produktu
    //product[@category='books']Produkty, których atrybut category ma wartość books
    //product[price > 20]Produkty z ceną powyżej 20, porównywaną jako liczba
    //product[contains(name, 'USB')]Produkty, których nazwa zawiera „USB” (z rozróżnianiem wielkości liter)
    //product[not(tags)]Produkty bez elementu podrzędnego tags
    (//product)[1]Pierwszy produkt w dokumencie
    //product[1]Pierwszy produkt w każdym elemencie nadrzędnym
    //product[last()]Ostatni produkt w każdym elemencie nadrzędnym
    //name/text()Węzły tekstowe wewnątrz name
    //price/..Element nadrzędny każdego elementu price
    //*[local-name()='product']Elementy product w dowolnej przestrzeni nazw
    count(//product)Liczba produktów
    sum(//price)Suma wszystkich cen
    string(//product[1]/name)Nazwa pierwszego produktu jako ciąg znaków

    Przestrzenie nazw w XPath

    XPath 1.0 nie ma domyślnej przestrzeni nazw. W dokumencie z xmlns="…", takim jak mapa witryny czy faktura NF-e, wyrażenie //url nic nie znajduje, ponieważ elementy należą do tej przestrzeni nazw. Dlatego tester przypisuje domyślną przestrzeń nazw do prefiksu x: (lub d:, jeśli x jest już zajęty), więc działa //x:url/x:loc. Prefiksów zadeklarowanych w dokumencie, takich jak cfdi: w fakturze CFDI, można używać bez zmian. W narzędziach bez konfiguracji przestrzeni nazw wszędzie działa //*[local-name()='url'].

    Najczęściej zadawane pytania

    Którą wersję XPath obsługuje tester?

    XPath 1.0 – wersję wbudowaną w każdą przeglądarkę i większość bibliotek XML. Funkcje z XPath 2.0 i nowszych, takie jak matches(), lower-case() czy string-join(), nie są dostępne.

    Dlaczego moje wyrażenie XPath nic nie zwraca?

    Najczęstsze przyczyny to domyślna przestrzeń nazw (użyj prefiksu x: podanego pod przykładami), inna wielkość liter – XPath rozróżnia wielkie i małe litery – oraz pozycje, które zaczynają się od 1, a nie od 0.

    Ile wyników jest wyświetlanych?

    Zliczane są wszystkie dopasowania, a pierwszych 500 jest wyświetlanych wraz z typem węzła i zawartością.

    Czy mój XML jest przesyłany na serwer?

    Nie. XML jest parsowany i odpytywany w Twojej przeglądarce. Tylko plik wczytywany z adresu URL jest pobierany przez nasz serwer.