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 ให้เป็นตัวอักษรแรก
  • ตั้งค่าตัวแปร y ให้เป็นตัวอักษรที่ต้องการลบ
  • ลบตัวอักษรด้วยวิธี removeChild() จากตัวอักษรเอง

TIY

ไม่ได้ใช้บ่อย removeChild() จากตัวอักษรเพื่อลบตัวอักษรนี้ สามารถใช้คุณสมบัติ nodeValue แทนได้ ดูเพิ่มเติมในช่วงต่อไป

เคลี่ยนข้อความของตัวอักษร

คุณสมบัติ nodeValue สามารถใช้เพื่อเปลี่ยนหรือเคลี่ยนข้อความของตัวอักษร

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

ตัวอย่างที่อธิบาย:

  • ผ่านการใช้ loadXMLDoc() ใส่ "books.xml" โหลด xmlDoc ใน
  • ตั้งค่าตัวแปร x ให้เป็นข้อความของตัวอักษรที่มีอยู่ในตัวอักษรแรก
  • ใช้คุณสมบัติ nodeValue ที่นี้เพื่อเคลี่ยนข้อความของตัวอักษร

TIY

วนรอบและเปลี่ยนข้อความของตัวอักษรทั้งหมด <title> โดยใช้ TIY

ลบคุณสมบัติโดยชื่อ

วิธี removeAttribute(name) ใช้เพื่อลบคุณสมบัติโดยชื่อ

ตัวอย่าง: removeAttribute('category')

รหัสที่นี้ลบคุณสมบัติ "category" ในหน้าต่าง <book> แรก

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 ในรายละเอียดเพื่อลบองค์ประกอบคุณสมบัติ

ตัวอย่าง: removeAttributeNode(x)

บทความรหัสที่แทนที่ของ <book> ลบคุณสมบัติทั้งหมดขององค์ประกอบ <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