XML DOM - ປະສົມປະສານ ແລະ ວິທີ

ປະສົມອາຊີບ ແລະກົນວິທີຂອງ XML DOM ອະທິບາຍກົນຄອມໂລມ.

ກໍານົດ

ຕົວຢ່າງທີ່ນຳໃຊ້ເອກະສານ XML books.xml.

ປະສົມອາຊີບ loadXMLDoc()ທີ່ຢູ່ພາຍໃນ JavaScript ພາຍນອກຂອງສານ.

ປະສົມອາຊີບ loadXMLString()ທີ່ຢູ່ພາຍໃນ JavaScript ພາຍນອກຂອງສານ.

ເລື່ອນແລະຄົ້ນຫາເອກະສານ XML
ເລື່ອນແລະຄົ້ນຫາສະແນນ XML

ປະສົມອາຊີບກົນຄອມໂລມ

DOM ສະທອມ XML ວ່າເປັນຫລາຍບັນດາຫຍັງ. ສາມາດເຂົ້າເຖິງຫຍັງດ້ວຍ JavaScript ຫລືກົນຄອມໂລມອື່ນໆ. ໃນການສອນນີ້ພວກເຮົານຳໃຊ້ JavaScript.

ປະກອບກົນຄອມໂລມ (DOM) ແມ່ນຖືກອະທິບາຍໂດຍກົນລະບຽບປະສົມອາຊີບຂອງປະສົມຄວາມແລະກົນວິທີ.

ປະກອບພົນທະນາຍາມທີ່ພິຈາລະນາ "ບາງຢ່າງແມ່ນຫຍັງ" (ອີງຕາມຊື່ຂອງຫຍັງ ອາດເປັນ "book").

ກົນລະບົບປົກກະຕິທີ່ນຳໃຊ້ຕາມວິທີ "ການກະທຳຕໍ່ຕົວເລກ" (ອີງຕາມ ການລຶບ "book" ຫົວຂໍ້)

ຫົວຂໍ້ XML DOM

ບາງຫົວຂໍ້ທີ່ປົກກະຕິທີ່ນຳໃຊ້ (ອີງຕາມ ການກະທຳຕໍ່ຕົວເລກ ເພາະ ການລຶບ "book" ຫົວຂໍ້)

  • x.nodeName - ຊື່ຫົວຂໍ້ຂອງ x
  • x.nodeValue - ຄວາມມູນຂອງ x
  • x.parentNode - ປະທານຫົວຂໍ້ຂອງ x
  • x.childNodes - ລູກຫົວຂໍ້ຂອງ x
  • x.attributes - ຫົວຂໍ້ທາງວຽກຂອງ x

ຄວາມເຫັນ:ໃນລາຍການທີ່ກ່າວກ່າວນີ້ x ແມ່ນອົງກອນຫົວຂໍ້.

ກົນລະບົບ XML DOM

  • x.getElementsByTagName(name) - ຮຽນຫົວຂໍ້ທີ່ມີຊື່ຫົວຂໍ້ສະເພາະ
  • x.appendChild(node) - ສຳລັບ x ສຳລັບລູກຫົວຂໍ້
  • x.removeChild(node) - ລຶບຫົວຂໍ້ລູກອອກຈາກ x

ຄວາມເຫັນ:ໃນລາຍການທີ່ກ່າວກ່າວນີ້ x ແມ່ນອົງກອນຫົວຂໍ້.

ກໍານົດ

ກິດຈະກຳ JavaScript ທີ່ຈະຮຽນຂໍ້ມູນ <title> ຈາກ books.xml:

txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue

ພາຍຫຼັງຄຳສັ່ງນີ້ txt ບັນທຶກຄວາມ "Harry Potter".

ການອະທິບາຍ:

  • xmlDoc - XML DOM ທຳອິດທີ່ຈະສ້າງໂດຍກົນລະບົບ
  • getElementsByTagName("title")[0] - ຫົວຂໍ້ <title> ທຳອິດ
  • childNodes[0] - ຫົວຂໍ້ຜູ້ບັນທຶກຂອງ <title> ທຳອິດ (ຫົວຂໍ້)
  • nodeValue - ຄວາມມູນຂອງຫົວຂໍ້ (ຄວາມຂອງຕົວເລກ)

ໃນຄະນະທີ່ກ່າວກ່າວນີ້ getElementsByTagName ແມ່ນກົນລະບົບ ແລະ childNodes ແລະ nodeValue ແມ່ນຜົນຜະລິດ.

ການບັນທຶກ XML ຕາມບັນຊີ - ການຫາສະເພາະບັນຊີ

ກິດຈະກຳບັນທຶກດັ່ງກ່າວໃຊ້ຫົວຂໍ້ loadXMLDoc books.xml ລາຍການບັນທຶກ XML ໃນການຕອບກັບທີ່ມີ ຂໍ້ມູນ book ທຳອິດ:

xmlDoc=loadXMLDoc("books.xml");
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

ການອອກມາຂອງ:

Harry Potter
J K. Rowling
2005

TIY

ໃນຄະນະທີ່ກ່າວກ່າວນີ້ພວກເຮົາໃຊ້ childNodes[0] ສຳລັບຫົວຂໍ້ຕ່າງໆທັງໝົດພຽງຫົວຂໍ້ດຽວ. ຍ້ອນວ່າກົນລະບົບ getElementsByTagName() ຈະມີຄວາມຜິດພາດມີຈຳນວນຕົວເລກ.

ການບັນທຶກ XML ຄວາມ - ການຫາສະເພາະບັນຊີບັນຊີ

ກິດຈະກຳດັ່ງກ່າວອ່າງ ລາຍການ XML ຄວາມ

ກິດຈະກຳບັນທຶກດັ່ງກ່າວໃຊ້ຫົວຂໍ້ loadXMLString books.xml ຊ່ວຍເຫຼືອ XML ພັດທະນາ, ແລະສະແດງຂໍ້ມູນຂອງ bookທຳອິດ:

text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";
xmlDoc=loadXMLString(text);
document.write(xmlDoc.getElementsByTagName("title"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author"))
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year"))
[0].childNodes[0].nodeValue);

ການອອກມາຂອງ:

Harry Potter
J K. Rowling
2005

TIY