Halimbawa ng XPath

Sa Seksyon na ito, malalaman natin ng pamamaraan ang pangunahing XPath syntax sa pamamagitan ng mga halimbawa.

XML sample document

Kami ay magagamit ng mga halimbawa sa ibaba na XML dokumento:

"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>

Tingnan ang "books.xml" na file sa iyong browser.

Pagkarga ng XML dokumento

Lahat ng modernong browser ay sumusuporta sa paggamit ng XMLHttpRequest para sa pagkarga ng XML dokumento.

Code para sa karamihan ng modernong browser:

var xmlhttp=new XMLHttpRequest()

Code para sa lumang Microsoft browser (IE 5 at 6):

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

Piliin ang node

Malungkot na, ang Internet Explorer at iba pang browser ay may iba't ibang paraan sa paggamit ng XPath.

Sa aming halimbawa, kasama ang mga code na magiging magamit sa karamihan ng pangunahing browser.

Ang Internet Explorer ay gumagamit ng method na selectNodes() para sa pagpili ng mga node mula sa XML dokumento:

xmlDoc.selectNodes(xpath);

Ang Firefox, Chrome, Opera at Safari ay gumagamit ng method na evaluate() para sa pagpili ng mga node mula sa XML dokumento:

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

Piliin ang lahat ng title

Ang halimbawa na ito ay piliin ang lahat ng mga title node:

/bookstore/book/title

亲自试一试

Piliin ang title ng unang book

Ang halimbawa na ito ay piliin ang title sa unang book sa bookstore element:

/bookstore/book[1]/title

亲自试一试

May isang problema dito. Ang halimbawa na ito ay nagbibigay ng iba't ibang resulta sa IE at iba pang browser.

Ang IE5 at ang iba pang bersyon ay tinitingnan ang [0] bilang unang node, habang ayon sa pamantayan ng W3C, ito ay dapat na [1].

Upang lutasin ang problema sa [0] at [1] sa IE5+, maaaring itakda ang SelectionLanguage sa XPath.

Ang halimbawa na ito ay piliin ang title sa unang book sa bookstore element:

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

亲自试一试

Piliin ang lahat ng presyo

Ang halimbawa na ito ay piliin ang lahat ng teksto sa mga node ng price:

/bookstore/book/price/text()

亲自试一试

Piliin ang mga node na may halaga na mas mataas sa 35 na price

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

/bookstore/book[price>35]/price

亲自试一试

选取价格高于 35 的 title 节点

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

/bookstore/book[price>35]/title

亲自试一试