XML 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() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້ຈາກຫົວຂໍ້ສົມຕະພັນ

TIY

ລຶບຕົວຕົນ - ລຶບຫົວຂໍ້ປັດຈຸບັນ

removeChild() 方法ແມ່ນກົນລະບຽບດຽວທີ່ສາມາດລຶບຫົວຂໍ້ສະເພາະ

ບໍ່ວ່າເຈົ້າໄດ້ພົບຫົວຂໍ້ທີ່ຈະລຶບ, ເຈົ້າສາມາດນຳໃຊ້ປະສົມພາສາ parentNode ແລະ removeChild() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x); 

ການອະທິບາຍຄວາມຄິດ:

  • ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
  • ຈຸດມີຊື່ y ໄດ້ກຳນົດເປັນຫົວຂໍ້ທີ່ຈະລຶບ
  • ນຳໃຊ້ປະສົມພາສາ parentNode ແລະ removeChild() ເພື່ອລຶບຫົວຂໍ້ຊະນວນນີ້

TIY

ລຶບຫົວຂໍ້ມີຄວາມລະອຽດ

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() ເພື່ອລຶບຫົວຂໍ້ຈາກຫົວຂໍ້ສົມຕະພັນ

TIY

ບໍ່ກົງກັນຫຼາຍ removeChild() ທີ່ນຳໃຊ້ເພື່ອລຶບຫົວຂໍ້ຈາກຫົວຂໍ້. ມີສາມາດນຳໃຊ້ປະສົມພາສາ nodeValue ແທນມັນ. ບັນຊີຫຼັງນີ້.

ລຶບຫົວຂໍ້ມີຄວາມລະອຽດ

nodeValue 属性可用于改变或清空文本节点的值:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue=""; 

ການອະທິບາຍຄວາມຄິດ:

  • ທີ່ນຳໃຊ້ loadXMLDoc() ຂຶ້ນ "books.xml" ຊອກຫາ xmlDoc
  • ຈຸດມີຊື່ x ໄດ້ກຳນົດເປັນຫົວຂໍ້ມີຄວາມລະອຽດຂອງຫົວຂໍ້ <title> ທີ່ທຳອິດ
  • ນຳໃຊ້ປະສົມພາສາ nodeValue ເພື່ອການລຶບຄວາມລະອຽດຂອງຫົວຂໍ້ມີຄວາມລະອຽດ

TIY

ການຫຼິ້ນກັບກົນລະບຽບວົງວຽນແລະປ່ຽນຄວາມລະອຽດຂອງຫົວຂໍ້ <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 ທຳອິດ.

TIY

ການລຶບຂອງລາຍລະອຽດ "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 ທີ່ມີລາຍລະອຽດ, ເພື່ອລຶບລາຍລະອຽດນັ້ນອອກ

TIY