ຄວາມຄິດຂອງ XPath
- 上一页 ສະເພາະສະຖິຕິ XPath
- 下一页 ຂໍ້ສະເພາະ XSLT
ໃນບົດນີ້ພວກເຮົາຈະຮຽນສະຫຼາກສິ່ງພື້ນຖານຂອງ 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")
ເລືອກຕົວປະກອບ
ບໍ່ມີຄວາມຍິນດີ. IE ແລະກະບະບວນສະໄໝອື່ນໆຈະໃຊ້ XPath ທີ່ຫຼາຍກວ່ານັ້ນ.
ໃນບັນທັດຕໍ່າມັນມີລິຂະສຸດທີ່ຈະຫຼີ້ນຢູ່ຫຼາຍກວ່ານັ້ນຂອງກະບະບວນສະໄໝທີ່ເປັນປະຈຳວັນ
Internet Explorer ຈະໃຊ້ກົນລະຍຸດ selectNodes() ເພື່ອເລືອກຕົວປະກອບຈາກໂຕມ XML
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera ແລະ Safari ຈະໃຊ້ກົນລະຍຸດ evaluate() ເພື່ອເລືອກຕົວປະກອບຈາກໂຕມ XML
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
ເລືອກຕົວປະກອບ title ທີ່ເປັນຕົວປະກອບ book ທຳອິດ
ບັນທັດຕໍ່າມັນເລືອກຕົວປະກອບ title ທີ່ຢູ່ໃນປະກອບ bookstore ດ້ານຫຼັງ
/bookstore/book[1]/title
ມັນມີບັນຫາຄົນກໍາລັງຄວາມຄິດ. ບັນທັດຕໍ່າມັນໃນ IE ແລະຫຼາຍກວ່ານັ້ນຈະອອກຜົນທີ່ແຕກຕ່າງກັນ.
IE5 ແລະຫຼາຍກວ່ານັ້ນ ຈະເບິ່ງ [0] ຄືຈະເປັນຕົວປະກອບທຳອິດ ແຕ່ຕາມມາດຕະຖານ W3C ຄວນເປັນ [1].
ເພື່ອແກ້ໄຂບັນຫາ [0] ແລະ [1] ໃນ IE5+ ຄວນກະຈັດການເລືອກຕົວປະກອບ XPath (SelectionLanguage).
ບັນທັດຕໍ່າມັນເລືອກຕົວປະກອບ title ທີ່ຢູ່ໃນປະກອບ bookstore ດ້ານຫຼັງ
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
ເລືອກຕົວປະກອບລາຄາທັງໝົດ
ບັນທັດຕໍ່າມັນເລືອກຕົວປະກອບ text ທີ່ຢູ່ໃນຕົວປະກອບ price
/bookstore/book/price/text()
ເລືອກຕົວປະກອບ price ທີ່ມີລາຄາຫຼາຍກວ່າ 35
下面的例子选取价格高于 35 的所有 price 节点:
/bookstore/book[price>35]/price
- 上一页 ສະເພາະສະຖິຕິ XPath
- 下一页 ຂໍ້ສະເພາະ XSLT