Professional Documents
Culture Documents
5 - Kursuse Info
5 - Kursuse Info
com
XPath
XPath on W3C standard, mis määrab ära kuidas saab kätte andmeid XML failist. Nagu nimigi viitab, on see
päringukeel mis määrab ära raja vajalike andmeteni (elemendid ja nende väärtused, alampuud või
atribuudid). Seda kasutavad ka näiteks XSLT ja XQuery. Kuidas see töötab, on hea võimalus näidata seda
HTML dokumendi stuktuuri peal.
Näiteks kui sooviksid juhatada “title” elemendini, siis oleks rada järgmine: /html/head/title . Kui pöörduda
näiteks “p” elementide poole, siis tekiks küsimus kas kõik või üks nendest. Näiteks esimene – sel juhul
kirjutaks selle nii /head/body/p[1]. Ja lihtsustatult nii ongi. Ja need kes on kunagi kokku puutunud näiteks
erinevate Linuxi käsuridadega, siis on see midagi sarnast.
https://www.metshein.com/kursus/# 1/5
13.7.2020 Kursuse info – metshein.com
Kui oled sellega hakkama saanud, siis vali Window>Show View>Other>XPath. Pärast OK vajutamist
kuvatakse see alumisel paneelil
Töötamine XPath’iga
Kui oled XPath paneeli Eclipses tööle saanud, siis sisestatud rajad töötavad hetkel avatud failiga. Kasutame
harjutamiseks sama faili, mida eelmises peatükis (kliendid.xml). Avaldisi on kahte liiki:
XPath teeavaldised
Elementide selekteerimiseks kasutatakse kaldkriipsu “/”. Näiteks rada /kliendid/klient/email kuvab iga kliendi
emaili.
/kliendid/klient/email/text()
Ühe kaldkriipsu kasutamine määrab täpse teekonna. Võimalus on kasutada ka kahte kaldkriipsu “//”, mis
leiab kõik tingimusele vastavad elemendid. Ja seda sõltumata, kes kelle alamelement on. Näiteks: //email.
Selle puuduseks on mahukad dokumendid, mis muudavad tulemuse aeglaseks.
Selekteerimise rada saab täiendada atribuudi valikuga. Näiteks kui kasutaja emailil oleks parameeter
<klient>
<id>2</id>
<eesnimi>Jeanette</eesnimi>
<perenimi>Proven</perenimi>
<email liik="too">jproven1@epa.gov</email>
<email liik="kodu">jproven1@hot.com</email>
<sugu>Female</sugu>
<arveldusarve>FR23 3718 4443 61IX S4RU 0U5M I62</arveldusarve>
https://www.metshein.com/kursus/# 3/5
13.7.2020 Kursuse info – metshein.com
<arveldusarve>FR23 3718 4443 61IX S4RU 0U5M I62</arveldusarve>
</klient>
/kliendid/klient/email/@liik
XPath predikaadid
Predikaatavaldiste kaudu saame kitsendada otsingutulemusi. Avaldised tuleb lisada kandiliste sulgude
vahele ning neis on võimalik kasutada programmeerimiskeeltest tuttavaid operaatoreid ja funktsioone.
Näiteks soovime esimest klienti, siis kasutame avaldist, kus nurgeliste sulgude sees on arv 1:
/kliendid/klient[1]
Lisades mistahes numbri, saame vastava järjekorranumbriga elemendi. Viimase elemendi saamiseks, kasuta
näiteks funktsiooni last() :
/kliendid/klient[last()]
/kliendid/klient[last()-1]
/kliendid/klient/email[@liik]
/kliendid/klient/email[@liik=”too”]
Ja kui aritmeetilisi võrdlusi edasi kasutada, siis saame leida elemente vastavalt tingimusele. Näiteks leiame
mingi id järgi elemendid
/kliendid/klient[id=123]/email
/kliendid/klient[id=123]
Ülesanne 4
https://www.metshein.com/kursus/# 4/5
13.7.2020 Kursuse info – metshein.com
Loo uus teksti fail ja pane kirja loodud päringud ehk kuidas vastused leidsid. Töötamiseks lae alla users.xml
https://www.metshein.com/kursus/# 5/5