XPath Examples
- Previous Page XPath Operators
- Next Page Summary of XPath
Sa Seksyon na ito, titingnan natin ang mga pangunahing pangunahing pang-XPath sa pamamagitan ng mga halimbawa.
Mga Halimbawa ng XML
Aming pagsasalita sa mga sumusunod na halimbawa gamit ang dokumentong XML na ito:
"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>
Mag-load ng dokumentong XML
Lahat ng modernong browser ay sumusuporta sa paggamit ng XMLHttpRequest upang mag-load ng dokumentong XML.
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 bintana
Malungkot na, ang Internet Explorer at iba pang browser na nangangasiwa ng XPath ay magkakaiba sa paraan.
Sa aming halimbawa, kasama ang mga code na mayroon sa karamihan ng mga pangunahing browser.
Internet Explorer ay gumagamit ng method na selectNodes() upang piliin ang mga bintana mula sa dokumentong XML:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera at Safari ay gumagamit ng method na evaluate() upang piliin ang mga bintana mula sa dokumentong XML:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Pinili ang lahat ng title
Ang halimbawa ng aming pagpipilian ay pinili ang lahat ng mga title na bintana:
/bookstore/book/title
Pinili ang title ng unang book
Ang mga halimbawa na ito ay pinili ang title ng unang book na nasa bookstore element:
/bookstore/book[1]/title
May isang problema dito. Ang mga halimbawa sa itaas ay nagbibigay ng iba't ibang resulta sa IE at ibang browser.
Ang mga bersyon ng IE5 at sa ibang bersyon ay tinitingnan ang [0] bilang unang node, habang ayon sa standard ng W3C, ito ay dapat na [1].
Para malutas ang problema sa [0] at [1] sa IE5+, maaaring itakda ang selection language (SelectionLanguage) para sa XPath.
Ang mga halimbawa na ito ay pinili ang title ng unang book na nasa bookstore element:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Pinili ang lahat ng price
Ang mga halimbawa na ito ay pinili ang lahat ng teksto sa price na may price na mas mataas sa 35:
/bookstore/book/price/text()
Pinili ang lahat ng price na may price na mas mataas sa 35
Ang mga halimbawa na ito ay pinili ang lahat ng price na may price na mas mataas sa 35:
/bookstore/book[price>35]/price
Pinili ang lahat ng title na may price na mas mataas sa 35
Ang mga halimbawa na ito ay pinili ang lahat ng title na may price na mas mataas sa 35:
/bookstore/book[price>35]/title
- Previous Page XPath Operators
- Next Page Summary of XPath