Przejdź do treści

Ewaluator XPath

Uruchom wyrażenie XPath 1.0 na wklejonym XML i zobacz każde dopasowanie, jego wartość i ścieżkę.

Wejście
Wynik

Ewaluator XPath

Wklej dokument XML, napisz wyrażenie XPath 1.0 i to narzędzie wyświetli każdy węzeł, który pasuje — bez potrzeby pisania skryptu lub otwierania debuggera, aby sprawdzić, czy selektor faktycznie znajdzie to, czego oczekujesz. Zostało stworzone na moment, gdy patrzysz na arkusz stylów XSLT, regułę scrapingu lub ścieżkę XQuery, która nie zwraca tego, czego się spodziewałeś, i musisz przetestować wyrażenie w izolacji na rzeczywistym dokumencie.

Opcja typ wyniku kontroluje, jak jest odczytywana wartość wyrażenia: „Zestaw węzłów” wyświetla wszystkie pasujące elementy, atrybuty, węzły tekstowe lub komentarze; „Ciąg znaków”, „Liczba” i „Wartość logiczna” konwertują całe wyrażenie w taki sam sposób jak funkcje string(), number() i boolean() w samym XPath, co jest sposobem sprawdzenia porównania lub wywołania count() w izolacji. W przypadku wyników zestawu węzłów opcja „Wyświetl dopasowania jako” przełącza się między zawartością tekstową poszczególnych dopasowań a ich pełnym serializowanym XML i możesz numerować dopasowania lub poprzedzać każde wyświetloną ścieżką (np. /catalog/book[2]/title), która je znalazła.

Obsługiwana składnia obejmuje podzbiór, który ludzie rzeczywiście używają: wszystkie dziesięć osi standardowych (child, descendant, descendant-or-self dla //, parent, ancestor, self, following-sibling, preceding-sibling i attribute dla @), symbole wieloznaczne, predykaty pozycyjne i logiczne, operator union i popularne funkcje — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() i operatory arytmetyczne i porównawcze. Zmienne, document(), key() i oś namespace nie są obsługiwane. Dokumenty z przestrzenią nazw wymagają powiązania prefiksu z jego URI w „Wiązania nazw”, jeden paar prefiks=URI na linię — lub włącz „Ignoruj przestrzenie nazw”, aby dopasować tylko nazwę lokalną, niezależnie od prefiksu.

Wszystko działa lokalnie w twojej przeglądarce: XML, który wklejasz, i wyrażenie, które na nim piszesz, nigdy nie są przesyłane nigdzie, więc bezpiecznie jest testować go z rzeczywistymi odpowiedziami API, eksportami konfiguracji lub fragmentami dziennika produkcji. Nieprawidłowy XML i nieprawidłowe wyrażenia są zgłaszane z informacją o tym, co nie powiodło się i dlaczego, a nie z pustym wynikiem.

Częste pytania

Które części XPath 1.0 są obsługiwane?
Wszystkie dziesięć osi standardowych, testy nazw i typów węzłów (w tym symbole wieloznaczne i text()/comment()/node()), predykaty pozycyjne i logiczne, operator union (|), operatory arytmetyczne i porównawcze oraz popularne funkcje takie jak position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() i sum(). Zmienne ($x), document(), key() i oś namespace nie są obsługiwane.
Dlaczego moje wyrażenie nie pasuje do niczego w dokumencie z przestrzenią nazw?
Test nazwy bez prefiksu pasuje tylko do elementów bez przestrzeni nazw — to ta sama reguła, którą stosują rzeczywiste procesory XPath. Powiąż prefiks, którego używa twoje wyrażenie, z identyfikatorem URI przestrzeni nazw dokumentu w „Wiązania nazw” (jeden paar prefiks=URI na linię), lub włącz „Ignoruj przestrzenie nazw”, aby pasować tylko do nazwy lokalnej.
Jaka jest różnica między czterema typami wyników?
„Zestaw węzłów” wyświetla same pasujące węzły. „Ciąg znaków”, „Liczba” i „Wartość logiczna” zamiast tego konwertują całe wyrażenie w taki sam sposób jak funkcje string(), number() i boolean() w XPath — przydatne do bezpośredniego sprawdzenia wyrażenia count() lub porównania bez opakowywania go w predykat.
Co się stanie w przypadku nieprawidłowego XML lub nieprawidłowego wyrażenia?
Narzędzie zgłasza, które z nich nie powiodło się i dlaczego — niezsunięty tag lub niezgodny element dla XML, nieoczekiwany token lub niepowiązany prefiks przestrzeni nazw dla wyrażenia — zamiast zwracania pustego lub wprowadzającego w błąd wyniku.
Czy mój dokument XML jest gdzieś przesyłany?
Nie. Analiza i ewaluacja odbywają się w całości w twojej przeglądarce — dokument i wyrażenie nigdy nie opuszczają twojego urządzenia.