XPath yra technologija, kuri tiksliai ir efektyviai nurodo ir išgauna reikiamą informaciją iš medžio struktūros duomenų, tokių kaip HTML ir XML.
XPath apžvalga
XPath yra kalba, naudojama konkretiems elementams ir atributams XML arba HTML dokumentų medyje nurodyti ir išgauti. Kadangi tinklalapiai dažnai susideda iš HTML, XPath yra plačiai naudojamas įvairiuose scenarijuose, tokiuose kaip žiniatinklio grandymas, duomenų gavimas ir XML duomenų paieška.
Įprastas naudojimas yra toks:
- Duomenų išgavimas žiniatinklio naršyklėse: XPath naudojamas automatiškai gauti konkrečius duomenis, pvz., informaciją apie produktus el. prekybos svetainėse arba straipsnių pavadinimus naujienų svetainėse.
- XML duomenų paieška ir apdorojimas: verslo sistemose ir duomenų nuorodų apdorojime duomenimis dažnai keičiamasi XML formatu. Naudodami XPath galite efektyviai išgauti reikiamą informaciją iš didelių XML duomenų kiekių.
- API atsakymų analizė (XML formatas): naudojant XML pagrįstas API, pvz., SOAP, XPath naudojamas atsakymų duomenims analizuoti. Tai leidžia greitai gauti konkrečius būsenos kodus ir rezultatų duomenis, pagerinant sistemos integravimo ir automatizuoto apdorojimo tikslumą.
Įrankio rekomendacija
Mokymosi ir naudojimo XPath procese įprasti įrankiai apima:
"Chrome" kūrėjo įrankiai: galingas įrankis, pateikiamas kartu su "Chrome" naršykle, kurį galite iškviesti paspausdami klavišą F12. Skydelyje "Elementai" galite greitai rasti HTML elementus tinklalapyje užvesdami pelės žymeklį ir spustelėdami, o dešiniuoju pelės mygtuku spustelėję elementą galite tiesiogiai nukopijuoti XPath išraišką, kad būtų lengva patikrinti ir išbandyti. Pavyzdžiui, analizuodami el. prekybos produkto puslapį, galite naudoti "Chrome" kūrėjų įrankius, kad greitai gautumėte XPath produktų pavadinimams, kainoms ir kitiems elementams. "Firefox" kūrėjo įrankiai: taip pat pateikiama su naršykle, panašia į "Chrome" kūrėjų įrankius. Tai taip pat leidžia lengvai rasti puslapio elementus, taip pat peržiūrėti ir išbandyti XPath išraiškas. Tai geras pasirinkimas kūrėjams, įpratusiems naudoti "Firefox" naršyklę. Internetiniai XPath testavimo įrankiai: Internetiniai įrankiai, tokie kaip "XPath Tester", gali būti naudojami be įdiegimo ir gali būti naudojami atidarius tinklalapį. Tiesiog įklijuokite XML arba HTML dokumento turinį, įveskite XPath išraišką ir pamatykite atitikties rezultatus realiuoju laiku. Šis įrankis ypač tinka pradedantiesiems, norintiems greitai pradėti ir atlikti paprastus XPath pratimus. "XPath Helper" papildinys: Kaip pavyzdį paėmus "Chrome" naršyklę, įdiegus "XPath Helper" papildinį, naršant internete prie naršyklės sąsajos bus pridėtas slankusis langas, rodydamas dabartinio pelės žymeklio elemento XPath kelią, o XPath išraiškas galėsite redaguoti ir išbandyti tiesiai lange, o tai labai pagerins kūrimo efektyvumą.
XPath santraukos sintaksė
Pasirinkite mazgą
XPath naudoja kelio išraiškas, kad parinktų mazgus XML dokumente. Mazgai pasirenkami einant keliu arba veiksmu. Toliau pateikiamos naudingiausios kelio išraiškos:
išraiška | apibūdinimas | | mazgo pavadinimas | Parenka visus šio mazgo antrinius mazgus. | | / | Pasirinkite iš šakninio mazgo (paimkite antrinį mazgą). | | // | Pasirenka dokumento mazgus iš dabartinio sutampančio pasirinkimo mazgo, neatsižvelgiant į jų vietą (paimti palikuonių mazgus). | | . | Pasirinkite dabartinį mazgą. | | .. | Pasirinkite dabartinio mazgo pirminį mazgą. | | @ | Pasirinkite atributą. |
Žemiau esančioje lentelėje išvardijome keletą kelio išraiškų kartu su išraiškų rezultatais:
Kelio išraiškos | Rezultatus | | knygynas | Pasirinkite visus mazgus, pavadintus knygynu. | | /bookstore | Pasirinkite šakninio elemento knygyną. Pastaba: Jei kelias prasideda pasviruoju brūkšniu ( / ), šis kelias visada reiškia absoliutų kelią į elementą! | | knygynas/knyga | Parenka visus knygos elementus, kurie yra antriniai knygyno elementai. | | //book | Parenka visus knygos antrinius elementus, neatsižvelgiant į jų vietą dokumente. | | knygynas//knyga | Pasirinkite visus knygos elementus, kurie yra knygyno elemento palikuonys, nepriklausomai nuo to, kur jie yra knygyne. | | @lang | Pasirinkite visas ypatybes, pavadintas lang. |
Predikatai
Predikatas naudojamas konkrečiam mazgui arba mazgui, kuriame yra nurodyta reikšmė, rasti. Predikatas įterptas laužtiniuose skliaustuose. Žemiau esančioje lentelėje pateikiame keletą kelio išraiškų su predikatais ir išraiškų rezultatus:
Kelio išraiškos | Rezultatus | | /bookstore/book[1] | Pasirinkite pirmąjį knygos elementą, kuris yra knygyno antrinio elemento dalis. | | /bookstore/book[last()] | Pasirenka paskutinį knygos elementą, kuris yra knygyno antrinio elemento dalis. | | /bookstore/book[last()-1] | Pasirenkamas priešpaskutinis knygos elementas, priklausantis knygyno antriniam elementui. | | /bookstore/book[position()<3] | Pasirinkite pirmuosius du knygos elementus, kurie yra antriniai knygyno elemento elementai. | | pavadinimas[@lang] | Parenka visus pavadinimo elementus, kurių ypatybė pavadinta lang. | | title[@lang='eng'] | Parenka visus pavadinimo elementus, turinčius lang atributą su eng reikšme. | | /bookstore/book[price>35.00] | Parenka visus knygyno elemento knygos elementus, o kainos elemento vertė turi būti didesnė nei 35,00. | | /bookstore/book[price>35.00]//title | Parenka visus knygos elemento pavadinimo elementus knygyno elemente, o kainos elemento reikšmė turi būti didesnė nei 35,00. |
Pasirinkti nežinomą mazgą
XPath pakaitos simboliai gali būti naudojami nežinomiems XML elementams paimti.
Pakaitos | apibūdinimas | | * | Atitinka bet kurį elemento mazgą. | | @* | Atitinka bet kurį atributo mazgą. | | mazgas() | Atitinka bet kokio tipo mazgą. |
Toliau pateiktoje lentelėje pateikiame keletą kelio išraiškų ir šių išraiškų rezultatus:
Kelio išraiškos | Rezultatus | | /bookstore/* | Pasirenka visus antrinius knygyno elemento elementus. | | //* | Paima visus dokumento elementus. | | pavadinimas[@*] | Parenka visus pavadinimo elementus su atributais. |
Pasirinkite kelis kelius
Naudojant "|" kelio išraiškoje operatorių, galite pasirinkti kelis kelius.
Toliau pateiktoje lentelėje pateikiame keletą kelio išraiškų ir šių išraiškų rezultatus:
Kelio išraiškos | Rezultatus | | //book/title | //book/price | Pasirenka visus knygos elemento pavadinimo ir kainos elementus. | | Pavadinimas | kaina | Pasirinkite visus dokumento pavadinimo ir kainos elementus. | | /bookstore/book/title | //price | Parenka visus knygos elemento pavadinimo elementus, priklausančius knygyno elementui, ir visus dokumento kainos elementus. |
Funkcija XPath
Toliau pateikiamas komentuotas XPath specifinių XPath papildymų sąrašas pagal pagrindines XPath funkcijas ir XSLT, įskaitant aprašymus, sintaksę, parametrų sąrašus, rezultatų tipus ir šaltinius atitinkamose W3C rekomendacijose.
- Bulio logika()
- viršutinė riba()
- choose()
- concat()
- sudėtyje yra()
- skaičius()
- current() specifinis XSLT
- document() specifinis XSLT
- element-available()
- false()
- aukštas()
- format-number() specifinis XSLT
- funkcija-prieinama()
- generate-id() specifinis XSLT
- id()
- key() specifinis XSLT
- lang()
- paskutinis()
- vietinis pavadinimas()
- vardas()
- vardų erdvė-uri()
- normalizuoti-tarpas()
- ne()
- skaičius()
- pozicija()
- apvalus()
- prasideda-su()
- eilutė()
- string-length()
- substring()
- substring-after()
- substring-prieš()
- suma()
- system-property() specifinis XSLT
- translate()
- true()
- unparsed-entity-url() specifinis XSLT
Praktiniai testai
Atidarykite "Chrome" ir gaukite visų skirtuko A nuorodų teksto turinį naudodami šią komandą:
Kaip parodyta žemiau:
Nuoroda:Hipersaito prisijungimas matomas. |