XPath je tehnologija, ki natančno in učinkovito določa in izluščuje potrebne informacije iz podatkov o strukturi drevesa, kot sta HTML in XML.
Pregled XPatha
XPath je jezik, ki se uporablja za določanje in izvlečenje določenih elementov in atributov v XML ali HTML drevesu dokumentov. Ker so spletne strani pogosto sestavljene iz HTML-ja, se XPath pogosto uporablja v različnih primerih, kot so spletno strganje, iskanje podatkov in iskanje XML podatkov.
Običajna raba je naslednja:
- Ekstrakcija podatkov v spletnih pajkalnikih: XPath se uporablja za samodejno pridobivanje specifičnih podatkov, kot so informacije o izdelkih na spletnih trgovinah ali naslovi člankov na novičarskih spletnih straneh.
- Iskanje in obdelava XML podatkov: V poslovnih sistemih in obdelavi podatkovnih povezav se podatki pogosto izmenjujejo v XML formatu. Z uporabo XPatha lahko učinkovito izluščite potrebne informacije iz velikih količin XML podatkov.
- Razčlenjevanje API odgovorov (XML format): Pri uporabi XML-osnovanih API-jev, kot je SOAP, se XPath uporablja za analizo podatkov o odzivih. To vam omogoča hitro pridobivanje specifičnih statusnih kod in podatkov o rezultatih, kar izboljša natančnost integracije sistema in avtomatizirane obdelave.
Priporočilo za orodje
Pri učenju in uporabi XPatha so pogosta orodja:
Chrome Developer Tools: Zmogljivo orodje, ki je priloženo brskalniku Chrome, lahko ga prikličete s pritiskom na tipko F12. V panelu "Elements" lahko HTML elemente na spletni strani hitro najdete z miško in klikom, desni klik pa lahko neposredno kopira izraz XPath za enostavno preverjanje in testiranje. Na primer, pri analizi spletne strani izdelka lahko uporabite orodja za razvijalce v Chromu, da hitro pridobite XPath za imena izdelkov, cene in druge elemente. Firefox Developer Tools: Prav tako je priložen brskalnik, podobno kot Chrome Developer Tools. Prav tako omogoča enostavno iskanje elementov na vaši strani ter ogled in testiranje XPath izrazov. To je dobra možnost za razvijalce, ki so vajeni uporabljati brskalnik Firefox. Spletna orodja za testiranje XPath: Spletna orodja, kot je "XPath Tester", je mogoče uporabljati brez namestitve in jih je mogoče uporabiti z odpiranjem spletne strani. Preprosto prilepite vsebino XML ali HTML dokumenta, vnesite izraz XPath in v realnem času si oglejte rezultate ujemanja. To orodje je še posebej primerno za začetnike, da hitro začnejo in izvajajo preproste vaje XPath. XPath Helper vtičnik: Če vzamemo za primer brskalnik Chrome, po namestitvi vtičnika XPath Helper se med brskanjem po spletu doda lebdeče okno v vmesnik brskalnika, ki prikazuje XPath pot trenutnega elementa miške, XPath izraze pa lahko urejate in testirate neposredno v oknu, kar močno izboljša učinkovitost razvoja.
XPath abstraktna sintaksa
Izberite vozlišče
XPath uporablja izraze poti za izbiro vozlišč v XML dokumentu. Vozlišča se izberejo s sledenjem poti ali koraku. Najbolj uporabni izrazi poti so navedeni spodaj:
izraz | opis | | Nodename | Izbere vsa podvozlja tega vozlišča. | | / | Izberi iz korenskega vozlišča (vzemi otroško vozlišče). | | // | Izbira vozlišča v dokumentu iz trenutnega vozlišča ujemajoče selekcije, ne glede na njihovo lokacijo (vzamemo potomska vozlišča). | | . | Izberite trenutno vozlišče. | | .. | Izberite nadrejeno vozlišče trenutnega vozlišča. | | @ | Izberite atribut. |
V spodnji tabeli smo skupaj z rezultati izrazov našteli nekaj izrazov za poti:
Izrazi poti | Rezultat | | knjigarna | Izberi vsa vozlišča z imenom knjigarna. | | /bookstore | Izberite knjigarno s korenskim elementom. Opomba: Če se pot začne s poševnico naprej ( / ), potem ta pot vedno predstavlja absolutno pot do elementa! | | Knjigarna/knjiga | Izbere vse knjižne elemente, ki so otroški elementi knjigarne. | | //book | Izbere vse podelemente knjige, ne glede na njihov položaj v dokumentu. | | knjigarna//knjiga | Izberite vse knjižne elemente, ki so potomci elementa knjigarne, ne glede na to, kje se nahajajo pod knjigarno. | | @lang | Izberite vse lastnosti z imenom lang. |
Izjave
Predikat se uporablja za iskanje določenega vozlišča ali vozlišča, ki vsebuje določeno vrednost. Predikat je vgrajen v oglate oklepaje. V spodnji tabeli navedemo nekaj popotnih izrazov s predikati in rezultate izrazov:
Izrazi poti | Rezultat | | /bookstore/book[1] | Izberite prvi element knjige, ki je del otroškega elementa knjigarne. | | /bookstore/book[last()] | Izbere zadnji knjižni element, ki je del podelementa knjigarne. | | /bookstore/book[last()-1] | Izbere predzadnji element knjige, ki pripada otroškemu elementu knjigarne. | | /bookstore/book[position()<3] | Izberite prva dva elementa knjige, ki sta poddelava elementa knjigarne. | | Naslov[@lang] | Izbere vse elemente naslova, ki imajo lastnost z imenom lang. | | naslov[@lang='eng'] | Izbere vse naslovne elemente, ki imajo atribut lang z vrednostjo eng. | | /bookstore/book[price>35.00] | Izbere vse elemente knjige iz elementa knjigarne, vrednost elementa cene pa mora biti večja od 35,00. | | /bookstore/book[price>35.00]//title | Izbere vse naslovne elemente knjižnega elementa v knjigarni, vrednost cenovnega elementa pa mora biti večja od 35,00. |
Izberite neznano vozlišče
XPath wildcardi se lahko uporabijo za zajem neznanih XML elementov.
Nadomestni | opis | | * | Ujema se z vsakim elementnim vozliščem. | | @* | Ujema se z vsakim vozliščem atributov. | | node() | Ujema se s katerokoli vrsto vozlišča. |
V spodnji tabeli naštejemo nekaj izrazov poti in rezultate teh izrazov:
Izrazi poti | Rezultat | | /bookstore/* | Izbere vse otroške elemente knjigarne. | | //* | Izbere vse elemente v dokumentu. | | naslov[@*] | Izbere vse elemente naslova z atributi. |
Izberite več poti
Z uporabo "|" v izrazu poti Operaterji, lahko izberete več poti.
V spodnji tabeli naštejemo nekaj izrazov poti in rezultate teh izrazov:
Izrazi poti | Rezultat | | //book/title | //book/price | Izbere vse elemente naslova in cene iz knjižnega elementa. | | naslov | cena | Izberite vse elemente naslova in cene v dokumentu. | | /bookstore/book/title | //price | Izbere vse naslovne elemente knjižnega elementa, ki pripadajo knjigarni, in vse cenovne elemente v dokumentu. |
Funkcija XPath
Spodaj je komentiran seznam XPath-specifičnih dodatkov k XPathu s strani osnovnih XPath funkcij in XSLT, vključno z opisi, sintakso, seznami parametrov, vrstami rezultatov in viri v ustreznih priporočilih W3C.
- boolean()
- ceiling()
- choose()
- concat()
- vsebuje()
- count()
- current() XSLT specifično
- document() XSLT specifično
- element-available()
- false()
- floor()
- format-number() XSLT specifično
- function-available()
- generate-id() XSLT specifičen
- id()
- key() XSLT specifično
- lang()
- last()
- local-name()
- name()
- imenski prostor-uri()
- normalize-space()
- not()
- number()
- position()
- round()
- začne-with()
- string()
- string-length()
- substring()
- substring-after()
- substring-before()
- sum()
- system-property() XSLT specifičen
- translate()
- true()
- unparsed-entity-url() XSLT specifično
Praktični preizkusi
Odprite Chrome in pridobite besedilo vseh povezav do zavihka A z naslednjim ukazom:
Kot je prikazano spodaj:
Referenčni:Prijava do hiperpovezave je vidna. |