Přeskočit na obsah

Vyhodnocovací nástroj XPath

Spusťte výraz XPath 1.0 na vloženém XML a vidíte všechny shody, jejich hodnoty a cesty.

Vstup
Výstup

Vyhodnocovací nástroj XPath

Vložte dokument XML, napište výraz XPath 1.0 a tento nástroj vypíše každý uzel, který se shoduje — bez potřeby psát skript nebo otevírat ladicí program, abyste zkontrolovali, zda selektor opravdu najde to, co očekáváte. Byl vytvořen pro moment, kdy se díváte na šablonu XSLT, pravidlo scrapingu nebo cestu XQuery, která nevrací to, co jste plánovali, a potřebujete výraz otestovat izolovaně na skutečném dokumentu.

Možnost typu výsledku určuje, jak se čte hodnota výrazu: „Sada uzlů“ vypíše všechny odpovídající prvky, atributy, textové uzly nebo komentáře; „Řetězec“, „Číslo“ a „Logická hodnota“ převedou celý výraz stejně jako funkce string(), number() a boolean() v samotném XPath, což je způsob, jak zkontrolovat porovnání nebo volání count() izolovaně. Pro výsledky sady uzlů možnost „Zobrazit shody jako“ přepíná mezi textovým obsahem jednotlivých shod a jejich úplným serializovaným XML a shody můžete číslovat nebo každou opatřit vyřešenou cestou (jako /catalog/book[2]/title), která ji našla.

Podporovaná syntaxe pokrývá podmnožinu, kterou lidé skutečně používají: všechny deset standardních os (child, descendant, descendant-or-self pro //, parent, ancestor, self, following-sibling, preceding-sibling a attribute pro @), zástupné znaky, poziční a logické predikáty, operátor union a běžné funkce — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space() a aritmetické a porovnávací operátory. Proměnné, document(), key() a osa namespace nejsou podporovány. Dokumenty s jmenným prostorem vyžadují, abyste předponu vázali na její URI v „Vazby jmenného prostoru“, jeden pár předpona=URI na řádek — nebo zapněte „Ignorovat jmenné prostory“, abyste se shodli pouze podle místního názvu, bez ohledu na předponu.

Vše běží místně ve vašem prohlížeči: XML, které vložíte, a výraz, který proti němu napíšete, se nikdy neodešle nikam, takže je bezpečné testovat ho s reálnými odpověďmi rozhraní API, exporty konfigurace nebo výňatky produkčního protokolu. Neplatný XML a neplatné výrazy jsou hlášeny s tím, co selhalo a proč, ne s prázdným výsledkem.

Časté dotazy

Které části XPath 1.0 jsou podporovány?
Všechny deset standardních os, testy jmen a typů uzlů (včetně zástupných znaků a text()/comment()/node()), poziční a logické predikáty, operátor union (|), aritmetické a porovnávací operátory a běžné funkce jako position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() a sum(). Proměnné ($x), document(), key() a osa namespace nejsou podporovány.
Proč se můj výraz neshoduje s ničím v dokumentu s jmenným prostorem?
Nepředponaný test jména odpovídá pouze prvkům bez jmenného prostoru — to je stejné pravidlo, které dodržují skuteční procesory XPath. Važte předponu, kterou váš výraz používá, na identifikátor URI jmenného prostoru dokumentu v „Vazby jmenného prostoru“ (jeden pár předpona=URI na řádek), nebo zapněte „Ignorovat jmenné prostory“, abyste se shodli pouze podle místního názvu.
Jaký je rozdíl mezi čtyřmi typy výsledků?
„Sada uzlů“ vypíše samotné odpovídající uzly. „Řetězec“, „Číslo“ a „Logická hodnota“ místo toho převedou celý výraz stejně jako funkce string(), number() a boolean() v XPath — užitečné pro přímou kontrolu výrazu count() nebo porovnání bez jeho zabalení do predikátu.
Co se stane s neplatným XML nebo neplatným výrazem?
Nástroj hlásí, který z nich selhal a proč — neuzavřená značka nebo neodpovídající prvek pro XML, neočekávaný token nebo nevázaná předpona jmenného prostoru pro výraz — místo vrácení prázdného nebo zavádějícího výsledku.
Je můj dokument XML někde nahrán?
Ne. Analýza i vyhodnocení běží zcela ve vašem prohlížeči — dokument a výraz nikdy neopustí vaše zařízení.