XML DOM - ການລຶບກິດຈະກຳ
- ອານານິຄົມເໜືອ DOM ປ່ຽນຂອງຫົວເຂົ້າ
- ອານານິຄົມໜ້າໃຕ້ DOM ປ່ຽນຂອງຫົວອອກ
ກົນລະບົບ removeChild() ລຶບສິ່ງທີ່ກໍານົດ.
ກົນລະບົບ removeAttribute() ລຶບສິ່ງຂອງທີ່ກໍານົດ.
ກໍລະນີ
ກໍລະນີນີ້ສະເໜີເອກະສານ XML. books.xml.
ກົນລະບົບ loadXMLDoc()،ທີ່ຢູ່ພາຍໃນ JavaScript ທາງນອກເພື່ອເອົາເອກະສານ XML.
- ລຶບສິ່ງຕົວຢ່າງ.
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ removeChild() ເພື່ອລຶບ <book> ຄັ້ງທຳອິດ.
- ລຶບສິ່ງຕົວຢ່າງທີ່ປະຈຸບັນ.
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ parentNode ແລະ removeChild() ເພື່ອລຶບ <book> ຄັ້ງທຳອິດ.
- ລຶບຫົວຂໍ້ມີຄວາມລະອຽດ
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ removeChild() ເພື່ອລຶບສິ່ງຂອງທີ່ຢູ່ພາຍໃນ <title> ຄັ້ງທຳອິດ.
- ລຶບສິ່ງຂອງທີ່ຢູ່ພາຍໃນສິ່ງຂອງທີ່ມີຂະໜາດນັບສິ່ງ.
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ nodeValue() ເພື່ອລຶບສິ່ງຂອງທີ່ຢູ່ພາຍໃນສິ່ງຂອງ <title> ຄັ້ງທຳອິດ.
- ລຶບຂອງລັກສະນະຕາມຊື່.
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ removeAttribute() ເພື່ອລຶບຂອງປະສົມປະກອບ "category" ຈາກ <book> ຄັ້ງທຳອິດ.
- ລຶບຂອງລັກສະນະຕາມໂອກາດ.
- ກໍລະນີນີ້ສະເໜີກົນລະບົບ removeAttributeNode() ເພື່ອລຶບຂອງປະສົມປະກອບ <book>.
ລຶບສິ່ງຕົວຢ່າງ.
ກົນລະບົບ removeChild() ລຶບສິ່ງຂອງທີ່ກໍານົດ.
ບ່ອນເພີ່ມທີ່ຖືກລຶບຈະລຶບທຸກສິ່ງລູກຂອງມັນຕະຫຼອດ.
ກິດຈະກຳດັ່ງກ່າວຈະລຶບສິ່ງ <book> ຄັ້ງທຳອິດຈາກ xml ທີ່ໄດ້ເອົາມາ:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ຈຸດມີຊື່ y ໄດ້ກຳນົດເປັນຫົວຂໍ້ທີ່ຈະລຶບ
- ນຳໃຊ້ກົນລະບຽບ removeChild() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້ຈາກຫົວຂໍ້ສົມຕະພັນ
ລຶບຕົວຕົນ - ລຶບຫົວຂໍ້ປັດຈຸບັນ
removeChild() 方法ແມ່ນກົນລະບຽບດຽວທີ່ສາມາດລຶບຫົວຂໍ້ສະເພາະ
ບໍ່ວ່າເຈົ້າໄດ້ພົບຫົວຂໍ້ທີ່ຈະລຶບ, ເຈົ້າສາມາດນຳໃຊ້ປະສົມພາສາ parentNode ແລະ removeChild() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ຈຸດມີຊື່ y ໄດ້ກຳນົດເປັນຫົວຂໍ້ທີ່ຈະລຶບ
- ນຳໃຊ້ປະສົມພາສາ parentNode ແລະ removeChild() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້
ລຶບຫົວຂໍ້ມີຄວາມລະອຽດ
removeChild() 方法可用于删除文本节点:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ຈຸດມີຊື່ x ໄດ້ກຳນົດເປັນຫົວຂໍ້ <title> ທີ່ທຳອິດ
- ຈຸດມີຊື່ y ໄດ້ກຳນົດເປັນຫົວຂໍ້ທີ່ຈະລຶບ
- ນຳໃຊ້ກົນລະບຽບ removeChild() ເພື່ອລຶບຫົວຂໍ້ຈາກຫົວຂໍ້ສົມຕະພັນ
ບໍ່ກົງກັນຫຼາຍ removeChild() ທີ່ນຳໃຊ້ເພື່ອລຶບຫົວຂໍ້ຈາກຫົວຂໍ້. ມີສາມາດນຳໃຊ້ປະສົມພາສາ nodeValue ແທນມັນ. ບັນຊີຫຼັງນີ້.
ລຶບຫົວຂໍ້ມີຄວາມລະອຽດ
nodeValue 属性可用于改变或清空文本节点的值:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ຈຸດມີຊື່ x ໄດ້ກຳນົດເປັນຫົວຂໍ້ມີຄວາມລະອຽດຂອງຫົວຂໍ້ <title> ທີ່ທຳອິດ
- ນຳໃຊ້ປະສົມພາສາ nodeValue ເພື່ອການລຶບຄວາມລະອຽດຂອງຫົວຂໍ້ມີຄວາມລະອຽດ
ການຫຼິ້ນກັບກົນລະບຽບວົງວຽນແລະປ່ຽນຄວາມລະອຽດຂອງຫົວຂໍ້ <title> ທັງໝົດ: TIY
ລຶບຫົວຂໍ້ທີ່ມີຊື່
ກົນລະບຽບ removeAttribute(name) ນຳໃຊ້ເພື່ອລຶບຫົວຂໍ້ທີ່ມີຊື່
ຕົວຢ່າງ: removeAttribute('category')
ລະບັບການການຄົ້ນຫາຫົວຂໍ້ <book> ທີ່ກຳລັງນຳໃຊ້ເພື່ອລຶບຄວາມລະອຽດ "category"
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ນຳໃຊ້ getElementsByTagName() ເພື່ອການຄົ້ນຫາຫົວຂໍ້ book
- ລຶບລາຍລະອຽດ "category" ຂອງຫົວອອກ book ທຳອິດ.
ການລຶບຂອງລາຍລະອຽດ "category" ຂອງຫົວອອກ <book> ທັງໝົດ: TIY.
ການລຶບຂອງຂໍ້ມູນວັດຖຸ
ກົນລະຍຸ removeAttributeNode(node) ທີ່ນຳໃຊ້ Node ເປັນການຕົກກັນຂອງຂໍ້ມູນ.
Example: removeAttributeNode(x)
ການຂັດຂຽນລະຫັດກັນທີ່ລຶບລາຍລະອຽດທັງໝົດຂອງຫົວອອກ <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); } }
ການອະທິບາຍຄວາມຄິດ:
- ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
- ນຳໃຊ້ getElementsByTagName() ເພື່ອການຮຽກຮ້ອງຫົວອອກ book ທັງໝົດ
- ກວດກາວ່າທຸກໆຫົວອອກ book ມີລາຍລະອຽດຫຼືບໍ່
- ຖ້າມີຜົນງານ book ທີ່ມີລາຍລະອຽດ, ເພື່ອລຶບລາຍລະອຽດນັ້ນອອກ
- ອານານິຄົມເໜືອ DOM ປ່ຽນຂອງຫົວເຂົ້າ
- ອານານິຄົມໜ້າໃຕ້ DOM ປ່ຽນຂອງຫົວອອກ