Mifano ya XPath

Katika sehemu hii, tumeza mafanikio kueleza mafundisho ya KiXPath.

Mafanikio ya XML

Tunategemea tunatumiwe kuzingatia mafanikio yaliyotumiwa kwenye hali ya XML:

"books.xml" :

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>
<book category="WEB">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="WEB">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>
</bookstore>

Tazama faili hii "books.xml" kwenye barua yako.

Kuwanza dosari ya XML

Barua mbalimbali zote za sasa zinaonyesha kwa kawaida kutumia XMLHttpRequest kuwanza dosari ya XML

Kwa barua mbalimbali za sasa:

var xmlhttp=new XMLHttpRequest()

Kwa barua za Microsoft za zamani (IE 5 na 6):

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

Chaguo kwa maorna

Kwa heri, Internet Explorer na barua mbalimbali zingine hazitumia XPath kwa njia inayofanana

Kwenye mivivu yetu, kina chaguo kinachoweza kutumika kwa kawaida kwa barua mbalimbali za kifungu

Internet Explorer huzitumia methodi ya selectNodes() kuwaona maorna kwenye dosari ya XML:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera na Safari huzitumia methodi ya evaluate() kuwaona maorna kwenye dosari ya XML:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);

Chaguo kila title

Mfano hii ni mivivu wa kila title kwa sababu ya:

/bookstore/book/title

亲自试一试

选取第一个 book 的 title

下面的例子选取 bookstore 元素下面的第一个 book 节点的 title:

/bookstore/book[1]/title

亲自试一试

这里有一个问题。上面的例子在 IE 和其他浏览器中输出不同的结果。

IE5 以及更高版本将 [0] 视为第一个节点,而根据 W3C 的标准,应该是 [1]。

为了解决 IE5+ 中 [0] 和 [1] 的问题,可以为 XPath 设置语言选择(SelectionLanguage)。

下面的例子选取 bookstore 元素下面的第一个 book 节点的 title:

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

亲自试一试

选取所有价格

下面的例子选取 price 节点中的所有文本:

/bookstore/book/price/text()

亲自试一试

选取价格高于 35 的 price 节点

下面的例子选取价格高于 35 的所有 price 节点:

/bookstore/book[price>35]/price

亲自试一试

选取价格高于 35 的 title 节点

下面的例子选取价格高于 35 的所有 title 节点:

/bookstore/book[price>35]/title

亲自试一试