XML DOM เปลี่ยนค่าโหนด
คุณสมบัติ nodeValue ใช้เพื่อเปลี่ยนค่าโหนด
เมธอด setAttribute() ใช้เพื่อเปลี่ยนค่าแอตทริบิวต์
ลองด้วยตัวคุณเอง - ตัวอย่าง
ตัวอย่างด้าน ล่างใช้ไฟล์ XML books.xml
ตัวอย่างนี้ใช้คุณสมบัติ nodeValue เพื่อเปลี่ยนโหนดข้อความขององค์ประกอบ <title> แรกใน "books.xml"
ตัวอย่างนี้ใช้วิธี setAttribute() เพื่อเปลี่ยนค่าของแอตทริบิวต์ "category" ของ <book> เล่มแรก
ตัวอย่างนี้ใช้คุณสมบัติ nodeValue เพื่อเปลี่ยนค่าของแอตทริบิวต์ "category" ของ <book> เล่มแรก
เปลี่ยนค่าขององค์ประกอบ
ใน DOM ทุกอย่างคือโหนด โหนดองค์ประกอบไม่มีค่าข้อความ
ค่าข้อความของโหนดองค์ประกอบถูกเก็บไว้ในโหนดย่อย โหนดนี้เรียกว่าโหนดข้อความ
ในการเปลี่ยนค่าข้อความขององค์ประกอบ คุณต้องเปลี่ยนค่าของโหนดข้อความขององค์ประกอบ
เปลี่ยนค่าของโหนดข้อความ
คุณสมบัติnodeValueสามารถใช้เพื่อเปลี่ยน ค่า ของโหนดข้อความ
สมมุติว่าโหลด " books.xml " ลงใน xmlDoc แล้ว
รหัสนี้เปลี่ยนค่าโหนดข้อความขององค์ประกอบ <title> แรก:
ตัวอย่าง
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "new
content"
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- รับโหนดลูกแรกของ <title> องค์ประกอบ
- เปลี่ยนค่าโหนดเป็น " เนื้อหาใหม่ "
วนซ้ำและเปลี่ยนโหนดข้อความขององค์ประกอบ <title> ทั้งหมด:
เปลี่ยนค่าของแอตทริบิวต์
ใน DOM คุณลักษณะคือโหนด โหนดแอตทริบิวต์มีค่าข้อความต่างจากโหนดองค์ประกอบ
วิธีเปลี่ยนค่าของแอตทริบิวต์คือการเปลี่ยนค่าข้อความ
ซึ่งสามารถทำได้โดยใช้เมธอด setAttribute() หรือการตั้งค่าคุณสมบัติ nodeValue ของโหนดแอตทริบิวต์
เปลี่ยนแอตทริบิวต์โดยใช้ setAttribute()
setAttribute()วิธีการเปลี่ยนค่าของแอตทริบิวต์
หากไม่มีแอตทริบิวต์อยู่ แอตทริบิวต์ใหม่จะถูกสร้างขึ้น
รหัสนี้เปลี่ยนแอตทริบิวต์หมวดหมู่ขององค์ประกอบ <book>:
ตัวอย่าง
xmlDoc.getElementsByTagName("book")[0].setAttribute("category","food");
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- รับ <หนังสือ> องค์ประกอบแรก
- เปลี่ยนค่าแอตทริบิวต์ "หมวดหมู่" เป็น "อาหาร"
วนรอบองค์ประกอบ <title> ทั้งหมดและเพิ่มแอตทริบิวต์ใหม่:
หมายเหตุ:หากไม่มีแอตทริบิวต์อยู่ ระบบจะสร้างแอตทริบิวต์ใหม่ (พร้อมระบุชื่อและค่า)
เปลี่ยนแอตทริบิวต์โดยใช้ nodeValue
คุณสมบัติnodeValueคือ ค่า ของโหนดแอตทริบิวต์
การเปลี่ยนคุณสมบัติค่าจะเปลี่ยนค่าของแอตทริบิวต์
ตัวอย่าง
xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "food";
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- รับแอตทริบิวต์ "หมวดหมู่" ขององค์ประกอบ <book> แรก
- เปลี่ยนค่าโหนดแอตทริบิวต์เป็น "อาหาร"