ການການຄົ້ນຫາຂອງ XML DOM
- ໜ້າກ່ອນ DOM ບູ່ຊາວ
- ອີກໜຶ່ງໜ້າ DOM ການເອົາຫນັງ
ສາມາດການຄົ້ນຫາພະຍານດ້ວຍການຄົ້ນຫາຂອງພະຍານລະຫວ່າງກັນ.
ກໍານົດຄວາມ
ຕົວຢ່າງດ້ານຫຼັງພາຍໃນເອກະສານ XML. books.xml.
ຫົວວິທີ loadXMLDoc()ທີ່ຢູ່ໃນ JavaScript ພາຍນອກເພື່ອອ້າງເອົາເອກະສານ XML.
- ການຮັບພະຍານພາຍໃນຂອງພະຍານ
- 本例使用 parentNode 属性来获取节点的父节点。
- ການຄົ້ນຫນັງຫນັງທໍາອິດຂອງຫນັງ
- ກໍານົດຄັ້ງນີ້ໃຊ້ວິທີ firstChild() ແລະການປະກອບພັນທີ່ເອງເພື່ອການຄົ້ນຫນັງຫນັງທໍາອິດຂອງຫນັງ.
ການຄົ້ນຫນັງ DOM ຫນັງ
ການຂຫາຫນັງຂອງຫນັງທີ່ພົບລະບຸຫນັງທາງພາຍໃນຫນັງທີ່ຈະຖືກເອີ້ນວ່າການຄົ້ນຫນັງຫນັງ ("navigating nodes").
ໃນ XML DOM ການພັນທະນາການຫນັງທີ່ພົບກັບຫນັງຖືກກໍານົດວ່າຂໍ້ມູນຂອງຫນັງ:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
ພາບທີ່ສະແດງ: books.xml ສະຖານະຫນັງທີ່ຈະກວດຄືນຫນັງທີ່ຖືກສະແດງລະບຸຫນັງສະຖານະຢ່າງທີ່ພົບລະບຸຫນັງສະຖານະຢ່າງ.

DOM - ພາຍໃນຫນັງ
ຫນັງທັງໝົດຈະມີພຽງຫນັງພາຍໃນໜຶ່ງ. ລະບົບທີ່ຖືກສະແດງລະບຸຫນັງພາຍໃນ <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; document.write(x.parentNode.nodeName);
ກໍານົດຄວາມອະທິບາຍ
- ພາຍໃຕ້ການໃຊ້ loadXMLDoc() ອີກ "books.xml" ຊອກອອກໄປໃນ xmlDoc
- ການຄົ້ນຫນັງ <book> ຫນັງສະຖານະ
- ການສະແດງຊື່ຫນັງພາຍໃນຫນັງຂອງ "x"
ຫລີກລ່ຽງຫນັງສະຖານະຈຳທີ່ບໍ່ມີຫນັງ
Firefox ແລະບັນດາບັນດາບາບິບອື່ນໆຈະກວດຄືນຫນັງສະຖານະຈຳທີ່ບໍ່ມີຫນັງແລະອອກສຽງສັນຍານຄືກັບຫນັງສະຖານະຢ່າງ ແຕ່ IE ຈະບໍ່ເຮັດແນວນັ້ນ.
ນີ້ຈະເປັນບັນຫາພາຍໃນການໃຊ້ຂໍ້ມູນທີ່ໃຫ້ກັບ: firstChild、lastChild、nextSibling、previousSibling。
ເພື່ອຫລີກລ່ຽງການກວດຄືນຫນັງສະຖານະຈຳນວນບາງຫນັງສະຖານະຈຳທີ່ບໍ່ມີຂໍ້ມູນ (ພາຍໃນຫນັງສະຖານະຢ່າງທີ່ບໍ່ມີຫນັງແລະອອກສຽງສັນຍານ) ພວກເຮົາໃຊ້ການກວດຄືນຫນັງຄັນດຽວເພື່ອກວດຄືນຫນັງ.
function get_nextSibling(n) { y=n.nextSibling; while (y.nodeType!=1) { y=y.nextSibling; } return y; }
ມີການປະກອບພັນກັບການນຳໃຊ້ get_nextSibling(node) ແທນກັບ ຂໍ້ມູນທີ່ໄດ້ອະນຸຍາດ node.nextSibling.
ການອະທິບາຍລະບົບ:
ຫນັງສະຖານະຢ່າງແມ່ນ 1。ຖ້າຫນັງສະຖານະຢ່າງໃນລະດັບດຽວບໍ່ແມ່ນຫນັງສະຖານະຢ່າງແລ້ວຈະຍ້າຍໄປຫນັງໃນເປັນຈຸດທ້າຍຫນັງສະຖານະຢ່າງຫນັງຢ່າງນັ້ນຈະມີຫນັງສະຖານະຢ່າງຢ່າງນັ້ນໄດ້ພົບສຳລັບ IE ແລະ Firefox ທັງສອງບັນຫາຈະມີຜົນກັນ.
ການຄົ້ນຫນັງຫນັງສະຖານະຢ່າງທໍາອິດ
ລະບັບທີ່ຖືກສະແດງລະບຸຫນັງ <book> ຫນັງສະຖານະຢ່າງທໍາອິດ:
<html> <head> <script type="text/javascript" src="loadxmldoc.js"> </script> <script type="text/javascript"> //ກວດຄືນຫນັງທໍາອິດແມ່ນຫນັງສະຖານະຢ່າງ function get_firstChild(n) { y=n.firstChild; while (y.nodeType!=1) { y=y.nextSibling; } return y; } </script> </head> <body> <script type="text/javascript"> xmlDoc=loadXMLDoc("books.xml"); x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]); document.write(x.nodeName); </script> </body> </html>
ການສະແດງ
title
ກໍານົດຄວາມອະທິບາຍ
- ພາຍໃຕ້ການໃຊ້ loadXMLDoc() ອີກ "books.xml" ບໍລິຫານ xmlDoc
- ການນໍາໃຊ້ get_firstChild ວິທະຍາດຕະຫລອດໃນ <book> ທີ່ທຳອິດ ເພື່ອການເອົາຫນັງບົດຄວາມທີ່ເປັນຫນັງບົດຄວາມ
- ການສະແດງຊື່ຫນັງບົດຄວາມທີ່ເປັນຫນັງບົດຄວາມຂອງບັນດາຫນັງບົດຄວາມ
ກໍານົດຄວາມ
ກໍານົດຄວາມນັບບັນດາບົດຄວາມທີ່ຍັງບໍ່ມີຫນັງນີ້ໃນພາບດັ່ງກ່າວ
- ໜ້າກ່ອນ DOM ບູ່ຊາວ
- ອີກໜຶ່ງໜ້າ DOM ການເອົາຫນັງ