XML DOM - ຄວາມແຕກຕ່າງຂອງສານອາວຸດ
ບັນດາບັນນາທິການຈະມີວິທີການຈຳກັດຄວາມຈິງຄັງລຽງອອກຂະແນນທີ່ຈະຕ່າງກັນໃນ XML DOM.
ຄັ້ງນີ້
ຄວາມສະແດງນັ້ນໃຫ້ທີ່ນຳໃຊ້ເອກະສານ XML: books.xml.
ພື້ນຖານ loadXMLDoc(), ຢູ່ພາຍໃນ JavaScript ທີ່ຖືກນຳໃຊ້ເພື່ອນຳໃຊ້ເອກະສານ XML.
- ສະແດງລະດັບຂະຫຍາຍວັດທະບັດຂະແນນ
- ຄັ້ງນີ້ຈະສະແດງລະດັບຂະຫຍາຍຂອງວັດທະບັດຂະແນນ. ຜົນງານຈະຕ່າງກັນໃນ IE ແລະບັນດາບັນນາທິການອື່ນໆ.
- 忽略节点间的空文本
- ຄັ້ງນີ້ຈະກວດສອບລະຫວ່າງ nodeType ຂອງຂະແນນ ແລະຈະນຳໃຊ້ຂະແນນຫຼັກພຽງຢ່າງດຽວ.
ຄວາມແຕກຕ່າງບັນດາບັນນາທິການໃນການຕັດຕອງ DOM
ບັນດາບັນນາທິການທີ່ມີຮູບແບບຫຼາຍສະໄໝທັງໝົດຈະສະໜັບສະໜູນມາດຕະການ W3C DOM.
ແຕ່ວ່າບັນດາບັນນາທິການຈະມີຄວາມແຕກຕ່າງກັນ. ຄວາມແຕກຕ່າງທີ່ສຳຄັນຈະມີສອງບັນດາວ່າ:
- ວິທີການນຳໃຊ້ XML
- ວິທີການຈຳກັດຄວາມຈິງຄັງລຽງອອກ ແລະການຫຼົງອອກ
“ການຫາບັນທຶກ XML DOM” ປະເທດນີ້,ພວກເຮົາໄດ້ອະທິບາຍວິທີການນຳໃຊ້ XML ຕາມຮູບແບບທີ່ແຕກຕ່າງກັນ:
ໃນປະເທດນີ້,ພວກເຮົາຈະສອບສວນວິທີການຈຳກັດຄວາມຈິງຄັງລຽງອອກ ແລະການຫຼົງອອກ:
DOM - ຄວາມຈິງຄັງລຽງອອກ
XML ຈະມີການຫຼົງອອກຫຼືຄວາມຈິງຄັງລຽງອອກລະຫວ່າງຂະແນນ. ນີ້ແມ່ນສະພາບທີ່ຈະເກີດຂຶ້ນຫຼາຍຄັ້ງ ເມື່ອນຳໃຊ້ເຄື່ອງໃນການແກ້ໄຂທີ່ງາຍດາຍ (ເຊັ່ນ Notepad):
ຄວາມສະແດງບັນນາທິການທີ່ຖືກຂຽນໂດຍເຄື່ອງໃນເບື້ອງ (Notepad) ຈະມີ CR/LF ລະຫວ່າງເລື່ອງອອກຫຼັງໜ້າກັນ ແລະມີສອງຊ່ອງຈາກມາດຕະການພາຍໃນຜູ້ປ່ຽນປະເພດຂອງພວກມັນ:
<book> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
Firefox ແລະ ເຄື່ອງບັນຄັບອື່ນໆ ຈະນຳໃຊ້ຄວາມຈິງຄັງລຽງອອກຫຼືການຫຼົງອອກຈາກມາດຕະການໃຫ້ເປັນຂະແນນຂໍ້ຄວາມ ແຕ່ Internet Explorer ຈະບໍ່ເຮັດແນວນັ້ນ.
下面的代码片段显示 (books.xml 的) 根元素拥有多少个子节点:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; document.write("Number of child nodes: " + x.length);
例子解释:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取根元素的子节点
- 输出子节点数目
结果取决于所使用的浏览器。Firefox 输出 9,而 IE 输出 4。
忽略节点间的空文本
如需忽略元素节点之间的空文本节点,需要检查节点类型。元素节点的类型是 1:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i"); } }
例子解释:
- 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
- 获取根元素的子节点
- 检查每个子节点的节点类型。如果节点类型是 "1",则是元素节点