เพิ่มตัวเลือก XML DOM
- หน้าก่อน โค้ดสร้างโนด์ของ DOM
- หน้าต่อไป โค้ดคลอนโนด์จุดของ DOM
ตัวอย่าง
ตัวอย่างด้านล่างใช้ไฟล์ XML books.xml。
ฟังก์ชัน loadXMLDoc()ตั้งอยู่ด้านนอก JavaScript ใช้เพื่อโหลดไฟล์ XML。
- ใส่โครงสร้างที่กำหนดเข้าไปหลังจากโครงสร้างย่อยสุดท้าย
- ตัวอย่างนี้ใช้วิธี appendChild() ในการเพิ่มโครงสร้างย่อยเข้าสู่โครงสร้างที่มีอยู่แล้ว
- ใส่โครงสร้างที่กำหนดเข้าไปก่อนโครงสร้างย่อยที่กำหนด
- ตัวอย่างนี้ใช้วิธี insertBefore() ในการใส่โครงสร้างที่กำหนดเข้าไปก่อนโครงสร้างย่อยที่กำหนด
- เพิ่มคุณสมบัติใหม่
- ตัวอย่างนี้ใช้วิธี setAttribute() ในการเพิ่มคุณสมบัติใหม่
- เพิ่มข้อมูลเข้าสู่ตัวอักษรเอลิเมนต์ของข้อความ
- ตัวอย่างนี้ใช้วิธี insertData() ในการใส่ข้อมูลเข้าสู่ตัวอักษรเอลิเมนต์ของข้อความ
การเพิ่มโครงสร้าง - appendChild()
วิธี appendChild() ใช้ในการเพิ่มโครงสร้างย่อยเข้าสู่โครงสร้างที่มีอยู่แล้ว
โครงสร้างใหม่จะถูกเพิ่ม (เพิ่มเติม) หลังจากโครงสร้างย่อยที่มีอยู่แล้ว
หมายเหตุ:ใช้วิธี insertBefore() ถ้าตำแหน่งของโครงสร้างเป็นสำคัญ
บทความรหัสที่นี้สร้างโครงสร้าง ( <edition> ) และเพิ่มมันเข้าไปหลังจากโครงสร้างย่อยสุดท้ายของตัวอักษรเอลิเมนต์ <book> แรก
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
ตัวอย่างที่ชี้แจง:
- ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xmlโหลด xmlDoc
- สร้างโครงสร้างใหม่ <edition>
- ใส่โครงสร้างนี้เข้าสู่ตัวอักษรเอลิเมนต์ <book> แรก
วนโครงสร้างและเพิ่มเลมเมนต์เข้าสู่ทุก <book> ตัวอักษรเอลิเมนต์TIY
การใส่โครงสร้าง - insertBefore()
วิธี insertBefore() ใช้ในการใส่โครงสร้างที่กำหนดเข้าไปก่อนโครงสร้างย่อยที่กำหนด
นี้เป็นวิธีที่มีประโยชน์เมื่อตำแหน่งของโครงสร้างเป็นสำคัญ
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
ตัวอย่างที่ชี้แจง:
- ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xmlโหลด xmlDoc
- สร้างโครงสร้างเลมเมนต์ใหม่ <book>
- ใส่โครงสร้างนี้เข้าไปก่อนหน้านั้น <book> ตัวอักษรเอลิเมนต์
ถ้าค่าที่ใส่เข้าไปในตัวอักษรที่สองของ insertBefore() คือ null โครงสร้างใหม่จะถูกเพิ่มเข้าไปหลังจากโครงสร้างย่อยที่มีอยู่แล้ว
x.insertBefore(newNode,null) และ x.appendChild(newNode) สามารถเพิ่มโครงสร้างย่อยใหม่เข้าสู่ x ได้
เพิ่มคุณสมบัติใหม่
addAtribute() นี้หน้าต่างไม่มีอยู่。
ถ้าคุณภาพยืนยันไม่มีอยู่ แล้ว setAttribute() จะสร้างคุณภาพใหม่
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
ตัวอย่างที่ชี้แจง:
- ด้วยการใช้ loadXMLDoc() เปลี่ยนค่าของ "books.xmlโหลด xmlDoc
- เปลี่ยนค่าของคุณภาพ "edition" ของ <book> แรกเป็น "first"
หมายเหตุ:ถ้าคุณภาพยืนยันมีอยู่แล้ว setAttribute() จะทับทับค่าที่มีอยู่แล้ว
เพิ่มข้อความใส่โนด์ข้อความ - insertData()
insertData() จะใส่ข้อมูลเข้าสู่ข้อความของโนด์ข้อความที่มีอยู่แล้ว
insertData() มีอัตรายอิงสองตัว
- offset - ที่ไหนเริ่มการใส่ตัวอักษร (เริ่มต้นด้วย 0)
- string - ตัวอักษรที่ต้องการใส่
บทบาทของโค้ดด้านล่างนี้จะเพิ่ม "Easy" ใส่นำเสนอของ <title> อันแรกใน XML ที่เหลือ
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- หน้าก่อน โค้ดสร้างโนด์ของ DOM
- หน้าต่อไป โค้ดคลอนโนด์จุดของ DOM