XPath on teknologia, joka tarkasti ja tehokkaasti määrittelee ja poimii tarvittavan tiedon puurakenteista, kuten HTML:stä ja XML:stä.
XPathin yleiskatsaus
XPath on kieli, jota käytetään tiettyjen elementtien ja attribuuttien määrittämiseen ja poimimiseen XML- tai HTML-dokumenttipuussa. Koska verkkosivut koostuvat usein HTML:stä, XPathia käytetään laajasti erilaisissa tilanteissa, kuten web-kaappauksessa, tiedon haussa ja XML-datan haussa.
Tyypillinen käyttö on seuraava:
- Datan poimiminen verkkoindekseissä: XPathia käytetään automaattisesti hakemaan tiettyjä tietoja, kuten tuotetietoja verkkokaupoilla tai artikkelien otsikoita uutissivustoilla.
- XML-datan haku ja käsittely: Liiketoimintajärjestelmissä ja tietolinkkien käsittelyssä dataa vaihdetaan usein XML-muodossa. XPathin avulla voit tehokkaasti poimia tarvittavan tiedon suurista XML-datamääristä.
- API-vastausten jäsentäminen (XML-muoto): XML-pohjaisia rajapintoja, kuten SOAPia, käytettäessä XPathia käytetään vastausdatan jäsentämiseen. Tämä mahdollistaa nopean tiettyjen tilakoodien ja tulostietojen saamisen, mikä parantaa järjestelmäintegraation ja automatisoidun käsittelyn tarkkuutta.
Työkalusuositus
XPathin oppimisen ja käytön aikana yleisiä työkaluja ovat:
Chrome Developer Tools: Tehokas työkalu, joka tulee Chrome-selaimen mukana, voit kutsua sitä painamalla F12-näppäintä. "Elementit"-paneelissa voit nopeasti paikantaa HTML-elementit verkkosivulta viemällä hiirtä ja klikkaamalla, ja hiiren oikealla painikkeella klikkaamalla elementtiä voit kopioida XPath-lausekkeen suoraan helppoa varmistusta ja testausta varten. Esimerkiksi verkkokaupan tuotesivua analysoidessa voit käyttää Chromen kehittäjätyökaluja saadaksesi nopeasti XPath-tietoja tuotenimien, hintojen ja muiden tekijöiden osalta. Firefox Developer Tools: Mukana tulee myös selain, samankaltainen kuin Chrome Developer Tools. Se mahdollistaa myös elementtien helpon paikantamisen sivultasi sekä XPath-lausekkeiden tarkastelun ja testauksen. Tämä on hyvä vaihtoehto kehittäjille, jotka ovat tottuneet käyttämään Firefox-selainta. Verkossa toimivat XPath-testaustyökalut: Verkkotyökaluja, kuten "XPath Tester", voi käyttää ilman asennusta, ja niitä voi käyttää avaamalla verkkosivun. Liitä yksinkertaisesti XML- tai HTML-dokumentin sisältö, syötä XPath-lauseke ja katso vastaavuuden tulokset reaaliajassa. Tämä työkalu sopii erityisesti aloittelijoille, jotta he voivat aloittaa nopeasti ja tehdä yksinkertaisia XPath-harjoituksia. XPath Helper -lisäosa: Ottaen esimerkiksi Chrome Browserin, XPath Helper -lisäosan asennuksen jälkeen se lisää kelluvan ikkunan selaimen käyttöliittymään selattaessa verkkoa, joka näyttää nykyisen hiiren yli -elementin XPath-polun, ja voit muokata ja testata XPath-lausekkeita suoraan ikkunassa, mikä parantaa kehityksen tehokkuutta huomattavasti.
XPath-abstrakti syntaksi
Valitse solmu
XPath käyttää polkulausekkeita solmujen valintaan XML-dokumentissa. Solmut valitaan seuraamalla polkua tai askelta. Hyödyllisimmät polkulausekkeet on lueteltu alla:
lauseke | kuvaus | | Solmunimi | Valitsee kaikki tämän solmun lapsisolmut. | | / | Valitse juurisolmusta (ota lapsisolmu). | | // | Valitsee solmut dokumentissa nykyisestä vastaavan valinnan solmusta, sijainnista riippumatta (otetaan jälkeläissolmut). | | . | Valitse nykyinen solmu. | | .. | Valitse nykyisen solmun emosolmu. | | @ | Valitse attribuutti. |
Alla olevassa taulukossa olemme listanneet joitakin polkulausekkeita sekä niiden tulokset:
Polkulausekkeet | tulos | | kirjakauppa | Valitse kaikki solmut nimeltä kirjakauppa. | | /bookstore | Valitse Root Element -kirjakauppa. Huomautus: Jos polku alkaa eteenpäin suuntautuvalla viivalla ( / ), tämä polku edustaa aina absoluuttista polkua alkiolle! | | Kirjakauppa/Kirja | Valitsee kaikki kirjan elementit, jotka ovat kirjakaupan lapsielementtejä. | | //book | Valitsee kaikki kirjan alaelementit riippumatta niiden sijainnista dokumentissa. | | Kirjakauppa//kirja | Valitse kaikki kirjan elementit, jotka ovat kirjakaupan elementin jälkeläisiä, riippumatta siitä, missä ne sijaitsevat kirjakaupan alla. | | @lang | Valitse kaikki lang-nimeiset ominaisuudet. |
Predikaatit
Predikaattia käytetään löytämään tietty solmu tai solmu, joka sisältää tietyn arvon. Predikaatti on upotettu hakasulkeisiin. Alla olevassa taulukossa listaamme joitakin polkulausekkeita predikaattien kanssa sekä lausekkeiden tulokset:
Polkulausekkeet | tulos | | /bookstore/book[1] | Valitse ensimmäinen kirjan elementti, joka kuuluu kirjakaupan lapsielementtiin. | | /bookstore/book[last()] | Valitsee viimeisen kirjaelementin, joka kuuluu kirjakaupan alaelementtiin. | | /bookstore/book[last()-1] | Valitsee toiseksi viimeisen kirjaelementin, joka kuuluu kirjakaupan lapsielementtiin. | | /bookstore/book[position()<3] | Valitse kaksi ensimmäistä kirjan elementtiä, jotka ovat kirjakaupan elementin lapsielementtejä. | | Otsikko[@lang] | Valitsee kaikki otsikkoelementit, joilla on ominaisuus nimeltä lang. | | otsikko[@lang='eng'] | Valitsee kaikki nimielementit, joilla on lang-attribuutti eng-arvolla. | | /bookstore/book[price>35.00] | Valitsee kaikki kirjakaupan elementit, ja hintaelementin arvon tulee olla yli 35,00. | | /bookstore/book[price>35.00]//title | Valitsee kaikki kirjan elementin otsikkoelementit kirjakaupan elementistä, ja hintaelementin arvon tulee olla suurempi kuin 35,00. |
Valitse tuntematon solmu
XPath-villikortteja voi käyttää tuntemattomien XML-elementtien poimimiseen.
yleismerkki | kuvaus | | * | Sopii mihin tahansa elementtisolmuun. | | @* | Vastaa mitä tahansa attribuuttisolmua. | | node() | Sopii mihin tahansa solmutyyppiin. |
Alla olevassa taulukossa on lueteltu joitakin polkulausekkeita ja näiden lausekkeiden tulokset:
Polkulausekkeet | tulos | | /bookstore/* | Valitsee kaikki kirjakaupan elementin lapsielementit. | | //* | Valitsee kaikki dokumentin elementit. | | otsikko[@*] | Valitsee kaikki nimielementit, joilla on attribuutit. |
Valitse useita polkuja
Käyttämällä "|" polkulausekkeessa Operaattorit, voitte valita useita polkuja.
Alla olevassa taulukossa on lueteltu joitakin polkulausekkeita ja näiden lausekkeiden tulokset:
Polkulausekkeet | tulos | | //book/title | //book/price | Valitsee kaikki kirjan otsikon ja hinnan elementit. | | Otsikko | hinta | Valitse kaikki asiakirjan otsikko- ja hintaelementit. | | /bookstore/book/title | //price | Valitsee kaikki kirjan otsikkoelementit, jotka kuuluvat kirjakaupan elementtiin, sekä kaikki hintaelementit dokumentista. |
XPath-funktio
Seuraavassa on kommentoitu lista XPath-kohtaisista lisäyksistä XPathin ydintoimintojen ja XSLT:n mukaan, mukaan lukien kuvaukset, syntaksi, parametrilistat, tulostyypit ja lähteet vastaavissa W3C-suosituksissa.
- Boolean()
- katto()
- choose()
- concat()
- sisältää()
- count()
- current() XSLT-spesifinen
- document() XSLT-spesifinen
- elementti-saatavilla()
- false()
- floor()
- format-number() XSLT-spesifinen
- function-available()
- generate-id() XSLT-spesifinen
- id()
- key() XSLT-spesifinen
- lang()
- last()
- paikallisnimi()
- nimi()
- namespace-uri()
- normalize-space()
- not()
- number()
- position()
- round()
- aloittaa()
- string()
- kielen pituus()
- substring()
- alimerkkijono-jälkeen()
- alimerkkijono-ennen()
- sum()
- system-property() XSLT-spesifinen
- käännä()
- true()
- parsed-entity-url() XSLT-spesifinen
Käytännön kokeet
Avaa Chrome ja saat kaikkien A-välilehden linkkien tekstisisällön seuraavalla komennolla:
Kuten alla on esitetty:
Viittaus:Hyperlinkin kirjautuminen on näkyvissä. |