XPath ir tehnoloģija, kas precīzi un efektīvi norāda un iegūst nepieciešamo informāciju no koka struktūras datiem, piemēram, HTML un XML.
XPath pārskats
XPath ir valoda, ko izmanto, lai norādītu un izvilktu konkrētus elementus un atribūtus XML vai HTML dokumentu kokā. Tā kā tīmekļa lapas bieži sastāv no HTML, XPath tiek plaši izmantots dažādos scenārijos, piemēram, tīmekļa skrāpēšanā, datu izgūšanā un XML datu meklēšanā.
Tipisks lietojums ir šāds:
- Datu ieguve tīmekļa rāpuļprogrammās: XPath tiek izmantots, lai automātiski iegūtu konkrētus datus, piemēram, informāciju par produktiem e-komercijas vietnēs vai rakstu nosaukumus ziņu vietnēs.
- XML datu meklēšana un apstrāde: biznesa sistēmās un datu saišu apstrādē dati bieži tiek apmainīti XML formātā. Izmantojot XPath, varat efektīvi iegūt nepieciešamo informāciju no liela apjoma XML datu.
- API atbilžu parsēšana (XML formāts): izmantojot XML API (SOAP), XPath tiek izmantots, lai parsētu atbilžu datus. Tas ļauj ātri iegūt konkrētus statusa kodus un rezultātu datus, uzlabojot sistēmas integrācijas un automatizētās apstrādes precizitāti.
Rīka ieteikums
XPath apguves un lietošanas procesā izplatītākie rīki ietver:
Chrome izstrādātāju rīki: jaudīgs rīks, kas nāk kopā ar pārlūkprogrammu Chrome, varat to izsaukt, nospiežot taustiņu F12. Panelī "Elementi" varat ātri atrast HTML elementus tīmekļa lapā, novietojot kursoru un noklikšķinot, un ar peles labo pogu noklikšķinot uz elementa, var tieši kopēt XPath izteiksmi, lai atvieglotu pārbaudi un testēšanu. Piemēram, analizējot e-komercijas produkta lapu, varat izmantot Chrome izstrādātāju rīkus, lai ātri iegūtu XPath produktu nosaukumiem, cenām un citiem elementiem. Firefox izstrādātāju rīki: Nāk arī ar pārlūkprogrammu, līdzīgi kā Chrome izstrādātāju rīki. Tas arī ļauj viegli atrast elementus lapā, kā arī apskatīt un pārbaudīt XPath izteiksmes. Šī ir laba iespēja izstrādātājiem, kuri ir pieraduši izmantot Firefox pārlūkprogrammu. Tiešsaistes XPath testēšanas rīki: Tiešsaistes rīkus, piemēram, "XPath Tester", var izmantot bez instalēšanas un tos var izmantot, atverot tīmekļa lapu. Vienkārši ielīmējiet XML vai HTML dokumenta saturu, ievadiet XPath izteiksmi un skatiet atbilstības rezultātus reāllaikā. Šis rīks ir īpaši piemērots iesācējiem, lai ātri sāktu darbu un veiktu vienkāršus XPath vingrinājumus. XPath Helper spraudnis: Piemēram, pēc XPath Helper spraudņa instalēšanas, pārlūkojot tīmekli, pārlūkprogrammas saskarnei tiks pievienots peldošs logs, parādot pašreizējā peles pārvietošanas elementa XPath ceļu, un jūs varat rediģēt un pārbaudīt XPath izteiksmes tieši logā, ievērojami uzlabojot izstrādes efektivitāti.
XPath kopsavilkuma sintakse
Mezgla atlasīšana
XPath izmanto ceļa izteiksmes, lai izvēlētos mezglus XML dokumentā. Mezgli tiek atlasīti, sekojot ceļam vai darbībai. Tālāk ir uzskaitītas visnoderīgākās ceļa izteiksmes:
izteiksme | apraksts | | mezgla nosaukums | Izvēlas visus šī mezgla pakārtotos mezglus. | | / | Izvēlieties no saknes mezgla (ņemiet bērna mezglu). | | // | Atlasa dokumenta mezglus no pašreizējā atbilstošās atlases mezgla neatkarīgi no to atrašanās vietas (ņemiet pēcnācēju mezglus). | | . | Izvēlieties pašreizējo mezglu. | | .. | Izvēlieties pašreizējā mezgla vecākmezglu. | | @ | Izvēlieties atribūtu. |
Zemāk esošajā tabulā mēs esam uzskaitījuši dažas ceļa izteiksmes kopā ar izteiksmju rezultātiem:
Ceļa izteiksmes | Rezultātu | | grāmatnīca | Izvēlieties visus mezglus ar nosaukumu grāmatnīca. | | /bookstore | Izvēlieties saknes elementa grāmatnīcu. Piezīmes: Ja ceļš sākas ar slīpsvītru ( / ), tad šis ceļš vienmēr ir absolūts ceļš uz elementu! | | grāmatnīca/grāmata | Izvēlas visus grāmatu elementus, kas ir grāmatnīcas pakārtotie elementi. | | //book | Izvēlas visus grāmatas apakšelementus neatkarīgi no to atrašanās vietas dokumentā. | | grāmatnīca//grāmata | Atlasiet visus grāmatas elementus, kas ir grāmatnīcas elementa pēcnācēji, neatkarīgi no tā, kur tie atrodas grāmatnīcā. | | @lang | Izvēlieties visus rekvizītus ar nosaukumu lang. |
Predikātiem
Predikāts tiek izmantots, lai atrastu konkrētu mezglu vai mezglu, kas satur noteiktu vērtību. Predikāts ir iestrādāts kvadrātiekavās. Tālāk esošajā tabulā ir uzskaitītas dažas ceļa izteiksmes ar predikātiem un izteiksmju rezultāti:
Ceļa izteiksmes | Rezultātu | | /bookstore/book[1] | Izvēlieties pirmo grāmatas elementu, kas ir daļa no grāmatnīcas pakārtotā elementa. | | /bookstore/book[last()] | Izvēlas pēdējo grāmatas elementu, kas ir daļa no grāmatnīcas apakšelementa. | | /bookstore/book[last()-1] | Izvēlas priekšpēdējo grāmatas elementu, kas pieder grāmatnīcas pakārtotajam elementam. | | /bookstore/book[position()<3] | Izvēlieties pirmos divus grāmatas elementus, kas ir grāmatnīcas elementa pakārtotie elementi. | | Nosaukums[@lang] | Izvēlas visus virsraksta elementus, kuriem ir rekvizīts ar nosaukumu lang. | | title[@lang='eng'] | Izvēlas visus virsraksta elementus, kuriem ir atribūts lang ar vērtību eng. | | /bookstore/book[price>35.00] | Izvēlas visus grāmatnīcas elementa grāmatas elementus, un cenas elementa vērtībai jābūt lielākai par 35,00. | | /bookstore/book[price>35.00]//title | Izvēlas visus grāmatas elementa virsraksta elementus grāmatnīcas elementā, un cenas elementa vērtībai jābūt lielākai par 35,00. |
Nezināma mezgla atlasīšana
XPath aizstājējzīmes var izmantot, lai uzņemtu nezināmus XML elementus.
Aizstājējzīmju | apraksts | | * | Atbilst jebkuram elementa mezglam. | | @* | Atbilst jebkuram atribūta mezglam. | | mezgls() | Atbilst jebkura veida mezglam. |
Tālāk esošajā tabulā ir uzskaitītas dažas ceļa izteiksmes un šo izteiksmju rezultāti:
Ceļa izteiksmes | Rezultātu | | /bookstore/* | Izvēlas visus grāmatnīcas elementa pakārtotos elementus. | | //* | Izvēlas visus dokumenta elementus. | | nosaukums[@*] | Izvēlas visus virsraksta elementus ar atribūtiem. |
Izvēlieties vairākus ceļus
Izmantojot "|" ceļa izteiksmē operatoriem, varat izvēlēties vairākus ceļus.
Tālāk esošajā tabulā ir uzskaitītas dažas ceļa izteiksmes un šo izteiksmju rezultāti:
Ceļa izteiksmes | Rezultātu | | //book/title | //book/price | Izvēlas visus grāmatas elementa nosaukuma un cenas elementus. | | Nosaukums | cena | Izvēlieties visus dokumenta nosaukuma un cenas elementus. | | /bookstore/book/title | //price | Izvēlas visus grāmatas elementa virsraksta elementus, kas pieder grāmatnīcas elementam, un visus dokumenta cenas elementus. |
Funkcija XPath
Tālāk ir komentēts XPath specifisku XPath papildinājumu saraksts ar XPath pamatfunkcijām un XSLT, ieskaitot aprakstus, sintaksi, parametru sarakstus, rezultātu tipus un avotus attiecīgajos W3C ieteikumos.
- Būla ()
- griesti ()
- izvēlieties()
- concat()
- satur()
- skaits()
- current() specifisks XSLT
- document() specifisks XSLT
- elements-pieejams()
- false()
- stāvs()
- format-number() specifisks XSLT
- funkcija-pieejama()
- ģenerēt-id() specifisks XSLT
- id ()
- key() specifisks XSLT
- lang()
- pēdējais()
- vietējais nosaukums()
- vārds()
- namespace-uri()
- normalizēt atstarpi()
- nav ()
- skaitlis()
- amats()
- apaļš()
- sākas ar()
- virkne()
- string-length()
- apakšvirkne()
- apakšvirkne-pēc()
- apakšvirkne-pirms()
- summa()
- system-property() specifisks XSLT
- tulkot()
- true()
- unparsed-entity-url() specifisks XSLT
Praktiskie pārbaudījumi
Atveriet pārlūku Chrome un iegūstiet visu cilnes A saišu teksta saturu, izmantojot šādu komandu:
Kā parādīts zemāk:
Atsauce:Hipersaites pieteikšanās ir redzama. |