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。

TIY

忽略节点间的空文本

如需忽略元素节点之间的空文本节点,需要检查节点类型。元素节点的类型是 1:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement.childNodes;
for (i=0;i");
  } 
}

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取根元素的子节点
  • 检查每个子节点的节点类型。如果节点类型是 "1",则是元素节点

TIY(简单) 或者 TIY(完整)