ຕົວຢ່າງ XPath
- ກັບຄືນກ່ອນ ສັບພິມບັດ XPath
- ກັບໄປຕໍ່ ຄຳສັບພິມ XPath
ໃນຂອບເຂດນີ້ພວກເຮົາຈະຮຽນຫຼັກຮູບພາບຂອງ XPath ຈາກຕົວຢ່າງ:
ແບບ 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>
ການລໍາລຽງ XML ບັນຊີ
ທັງໝົດເຄືອມຕະວິກິດສານທົ່ວໄປທີ່ໃຊ້ໄດ້ນຳໃຊ້ XMLHttpRequest ເພື່ອລໍາລຽງ XML ບັນຊີ:
ກົນລະບົບສໍາລັບເຄືອມຕະວິກິດສານທົ່ວໄປທີ່ມີຫຼາຍຫຼາຍບຸກຄົນໃຊ້:
var xmlhttp=new XMLHttpRequest()
ກົນລະບົບສໍາລັບເຄືອມຕະວິກິດສານ Microsoft (IE 5 ແລະ 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
ການຄົ້ນຫາຂອງບັນຊີ
ແຕ່ວ່າ, Internet Explorer ແລະບັນດາກົນລະບົບ XPath ອື່ນໆມີການປະຕິບັດທີ່ແຕກຕ່າງກັນ:
ໃນກໍລະນີຂອງພວກເຮົາມີລວມກັບລິຂະສິດທີ່ຈະປະຕິບັດດ້ວຍຫຼາຍເຄືອມຕະວິກິດສານທີ່ເປັນທີ່ກະຈາຍກາຍ:
Internet Explorer ນຳໃຊ້ກົນລະບົບ selectNodes() ເພື່ອຄົ້ນຫາຂອງ XML ບັນຊີ:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera ແລະ Safari ນຳໃຊ້ກົນລະບົບ evaluate() ເພື່ອຄົ້ນຫາຂອງ XML ບັນຊີ:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
ການຄົ້ນຫາຄວາມລາຍງາຍທັງໝົດ title
ການຄົ້ນຫາຄວາມລາຍງາຍທີ່ຕາມ /bookstore/book/title
/bookstore/book/title
ເລືອກຫົວຂໍ້ທີ່ຢູ່ລາຍການ bookstore ທີ່ຢູ່ບັດທີໜຶ່ງ:
ຕົວຢ່າງດັ່ງກ່າວລວມມີຫົວຂໍ້ bookstore ທີ່ຢູ່ລາຍການສະຖານີບັດທີໜຶ່ງ:
/bookstore/book[1]/title
ມີບັນຫາຄົນນຶກຄືກັນ. ຕົວຢ່າງດັ່ງກ່າວລວມມີຜົນອອກຕ່າງກັນໃນ IE ແລະ ເບິ່ງຕໍ່ມາ.
IE5 ແລະຫຼາຍກວ່າຈະເບິ່ງ [0] ຄືສະຖານີທໍາອິດ ແຕ່ຕາມມາດຕະຖານ W3C ຄື [1].
ເພື່ອແກ້ໄຂບັນຫາ [0] ແລະ [1] ໃນ IE5+ ທີ່ຈະສ້າງຄຳປະສານ XPath ສະແກນການເລືອກຈາກສັບພິມ.
ຕົວຢ່າງດັ່ງກ່າວລວມມີຫົວຂໍ້ bookstore ທີ່ຢູ່ລາຍການສະຖານີບັດທີໜຶ່ງ:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
ເລືອກຫົວຂໍ້ທີ່ລາຄາຫຼາຍກວ່າ 35
ຕົວຢ່າງດັ່ງກ່າວລວມມີຫົວຂໍ້ທີ່ລາຄາຫຼາຍກວ່າ 35:
/bookstore/book[price>35]/price
ເລືອກຫົວຂໍ້ທີ່ລາຄາຫຼາຍກວ່າ 35
ຕົວຢ່າງດັ່ງກ່າວລວມມີຫົວຂໍ້ທີ່ລາຄາຫຼາຍກວ່າ 35:
/bookstore/book[price>35]/title
- ກັບຄືນກ່ອນ ສັບພິມບັດ XPath
- ກັບໄປຕໍ່ ຄຳສັບພິມ XPath