XML ja XPath

Mitä XPath on?

XPath Se on yksi keskeisimmistä elementeistä XSLT-standardissa.

XPath voidaan käyttää elementtien ja ominaisuuksien sijainnin (navigoinnin) määrittämiseen XML-dokumentissa

XPath

XPath
  • XPath määrittelee XML-dokumentin osia olevan syntaksin
  • XPath käyttää polkuilmauksia navigoimaan XML-dokumentissa
  • XPath sisältää standardifunktiokirjaston
  • XPath on keskeinen elementti XSLT ja XQuery -standardeissa
  • XPath on W3C:n suositeltu standardi

XPath-polkuilmaukset

XPath käyttää polkuilmauksia valitakseen XML-dokumentin solmuja tai solmuryhmiä. Nämä polkuilmaukset näyttävät hyvin samanlaisilta kuin ne, joita näet käyttäessäsi perinteistä tietokoneen tiedostojärjestelmää.

XPath-lausekkeita voidaan käyttää JavaScriptissä, Javaossa, XML Schema:ssa, PHP:ssa, Pythonissa, C:ssä ja C++:ssä sekä monissa muissa kielissä.

XPath käytetään XSLT:ssä

XPath on yksi keskeisimmistä elementeistä XSLT-standardissa.

Ymmärsitään XPath, niin voit hyödyntää XSL:n parhaalla mahdollisella tavalla.

XPath esimerkki

Me käytämme seuraavaa XML-dokumenttia:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <year>2013</year>
  <price>35</price>
</book>
<book category="儿童">
  <title lang="zh">了不起的狐狸爸爸</title>
  <author>罗尔德·达尔</author>
  <year>2009</year>
  <price>10.00</price>
</book>
<book category="文学">
  <title lang="zh">将熟悉变为陌生</title>
  <author>齐格蒙·鲍曼</author>
  <author>彼得·哈夫纳</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="政治">
  <title lang="zh">论美国的民主</title>
  <author>托克维尔</author>
  <year>1989</year>
  <price>60.00</price>
</book>
</bookstore>

Tässä taulukossa luetellaan joitakin XPath-lausekkeita ja niiden tuloksia:

XPath-lauseke Tulokset
/bookstore/book[1] Valitse ensimmäinen book-elementti, joka on bookstore-elementin lapsi-elementtiä.
/bookstore/book[last()] Valitse viimeinen book-elementti, joka on bookstore-elementin lapsi-elementtiä.
/bookstore/book[last()-1] Valitse toiseksi viimeinen book-elementti, joka on bookstore-elementin lapsi-elementtiä.
/bookstore/book[position()<3] Valitse ensimmäiset kaksi book-elementtiä, jotka ovat bookstore-elementin lapsi-elementtiä.
//title[@lang] Valitse kaikki title-elementit, joilla on nimeltään lang ominaisuus.
//title[@lang='en'] Valitse kaikki title-elementit, joilla on "lang"-ominaisuus ja arvo "en".
/bookstore/book[price>35.00] Valitse kaikki book-elementit, joissa price-elementin arvo on suurempi kuin 35.00 bookstore-elementissä.
/bookstore/book[price>35.00]/title Valitse bookstore-elementin book-elementissä price-elementin arvoa suurempia 35.00:aa olevat kaikki title-elementit.

XPath - oppituntio

Opi XPath-opetustuntioistamme: XPath Lisää tietoa.