XPath-testare
XML- eller HTML-dokument
Klistra in XML eller HTML med upp till 1 000 000 tecken. Utvärderingen sker i den här webbläsaren med XPath 1.0.
Ett absolut eller relativt XPath 1.0-uttryck. Prefix som deklareras i dokumentet registreras automatiskt; en standardnamnrymd är tillgänglig under prefixet d.
Utvärdera XPathAtt skriva XPath för skrapning eller XSLT blir ren gissningslek utan en levande sandlåda. Den här testaren tar din XML eller HTML i en ruta och ditt uttryck i en annan, utvärderar XPath 1.0 med webbläsarens egen motor och listar varje träffad nod med typ, attribut, textinnehåll och serialiserad uppmärkning. Skalära uttryck som count(//book) returnerar sitt värde direkt, och namnrymdsprefix som deklarerats i dokumentet registreras åt dig. Allt körs i din webbläsare: dokumentet laddas aldrig upp.
Så testar du ett XPath-uttryck
-
1
Klistra in XML eller HTML
Den automatiska identifieringen växlar till tolerant HTML-tolkning när den ser en HTML-doctype eller HTML-rot; du kan också tvinga XML- eller HTML-läge.
-
2
Ange ditt XPath
Absolut (`/library/book`) eller relativt (`//div[@class='card']`), vilket XPath 1.0-uttryck som helst.
-
3
Utvärdera
Webbläsarens XPath-motor kör frågan lokalt; ingenting skickas till någon server.
-
4
Granska resultaten
Varje träff visar nodtyp, attribut, trimmad text och serialiserad uppmärkning; upp till 200 träffar listas.
Grunderna i XPath 1.0
| Uttryck | Vad det träffar |
|---|---|
/books/book |
<book>-barn till roten <books> |
//book |
Varje <book> var som helst i dokumentet |
//book[@id='42'] |
<book> med id-attribut lika med 42 |
//book[1] |
Första <book> per förälder (inte i dokumentet) |
(//book)[1] |
Första <book> i hela dokumentet |
//book[title='1984'] |
<book> vars <title>-text är “1984” |
//book/@id |
id-attributen hos alla <book>-element |
//book[position() > 1] |
Alla <book> utom det första |
//book[last()] |
Sista <book> per förälder |
Skalära uttryck fungerar också: count(//book) returnerar ett tal, string(//title) en sträng och boolean(//book[@id]) sant eller falskt. Testaren visar de värdena direkt i stället för en nodlista.
Vanliga axlar bortom child
ancestor::, alla förfäderfollowing-sibling::, syskon efter den aktuella nodenpreceding-sibling::, syskon föredescendant::, alla ättlingarattribute::(kortform@), den aktuella nodens attributparent::(kortform..), föräldraelementet
HTML:s egenheter
HTML är inte strikt XML, så testaren tolkar det tolerant med webbläsarens HTML-parser i stället för den strikta XML-parsern. HTML-läget identifieras automatiskt utifrån <!DOCTYPE html> eller en <html>-rot, och med väljaren för dokumentläge kan du tvinga fram endera läget. I HTML-läge görs tagg- och attributnamn om till gemener, så skriv ditt XPath med gemener: //div[@class], inte //DIV[@CLASS].
Namnrymder
XML med namnrymder kräver att prefixen registreras:
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/">
<item>
<content:encoded>...</content:encoded>
</item>
</rss>
Testaren söker igenom dokumentet efter xmlns-deklarationer och registrerar varje prefix automatiskt, så //content:encoded fungerar direkt. En standardnamnrymd (ett rent xmlns="...") saknar prefix i dokumentet, så testaren binder den till prefixet d: välj <item>-element i ett flöde med standardnamnrymd med //d:item. De registrerade namnrymderna listas bredvid resultaten.
Vad den här testaren inte utvärderar
Webbläsare utvärderar XPath 1.0, samma dialekt som de flesta skrapningsverktyg använder. Funktioner från XPath 2.0 och senare, som matches(string, regex), tokenize(string, delimiter), for ... return-uttryck och sekvensoperatorer, ingår inte; dem hittar du i XSLT 2.0/3.0-verktygskedjor. XPath 1.0 förblir det mest portabla valet för webbskrapning.
Testtips
- Börja brett och snäva in. Först
//div, sedan//div[@class], sedan det specifika klassvärdet. - Kontrollera namnrymdsdeklarationerna. De flesta “varför returnerar mitt XPath ingenting?”-buggar är namnrymder; titta i listan över registrerade namnrymder.
- Tänk på skiftläget. XML är skiftlägeskänsligt. HTML-läget gör namn till gemener.
- Testa string() när du extraherar text.
//p/text()ochstring(//p)skiljer sig åt när det finns nästlad uppmärkning.
Vanliga frågor
Nej, bara XPath. De flesta webbläsare stöder båda via document.querySelectorAll (CSS) och document.evaluate (XPath). Använd det som är tydligast för uppgiften.
HTML-tolkningen gör tagg- och attributnamn till gemener. Se till att ditt XPath använder gemener: //div[@class], inte //DIV[@CLASS]. Kontrollera också läget: att tvinga XML på slarvig HTML misslyckas med ett tolkningsfel, medan HTML-läget tolkar den tolerant.
Prefix som deklarerats i dokumentet registreras automatiskt för ditt uttryck. En standardnamnrymd binds till prefixet d, så //d:item väljer <item>-element i ett dokument med standardnamnrymd. De aktiva bindningarna listas med resultaten.
Nej. Dokumentet och uttrycket utvärderas av webbläsarens egen XPath-motor och skickas inte till vår server, sparas inte och läggs inte till i sidans adress; de finns bara i den här webbläsarsessionen så att flerstegsvyn kan visa dina resultat.
Relaterade verktyg
OpenAPI-validerare
Klistra in ett OpenAPI- eller Swagger-dokument i JSON eller YAML och kontrollera dess kärnstruktur: versionsfält, info-objekt och paths, med tydliga fel och varningar.
PHP-formaterare
Lägg till radbrytningar och indrag med 2 eller 4 blanksteg i ett enkelt PHP-kodstycke. Granska resultatet: detta är varken en PHP-parser eller en PSR-12-korrigerare.
CSS-laddningsgenerator
Skapa en cirkulär spinnare i ren CSS: ställ in diameter, kanttjocklek, accentfärg och rotationshastighet, förhandsvisa direkt och kopiera den färdiga CSS-koden. Ingen SVG, ingen JavaScript.
Webpack-konfigurationsgenerator
Skapa en webpack.config.js för webpack 5 med vanlig JavaScript, React eller Vue: TypeScript, Babel, CSS eller Sass, bilder, HtmlWebpackPlugin, en utvecklingsserver och raden för npm install.
Protocol Buffers-avkodare
Avkoda Protobuf-byte lokalt från hex, Base64, Base64URL, text eller fil, granska fälttolkningar och exportera en privat rapport.
XSD-validerare
Validera ett XML-dokument mot ett XSD-schema och rapportera element- och typavvikelser med exakta radnummer.
Verktyget finns på andra språk
- Testador de XPath [PT]
- Probador de XPath [ES]
- เครื่องมือทดสอบ XPath [TH]
- Penguji XPath [ID]
- Testeur XPath [FR]
- XPath-Tester [DE]
- XPath 테스터 [KO]
- XPath テスター [JA]
- XPath-tester [NL]
- أداة اختبار XPath [AR]
- Công cụ kiểm tra XPath [VI]
- Tester XPath [PL]
- XPath 测试工具 [ZH]
- XPath Tester [EN]
- Tester XPath [IT]
- Тестер XPath [RU]
- XPath Test Aracı [TR]