XML DOM ขั้นสูง XML DOM - ขั้นสูง ก่อนหน้านี้ในบทช่วยสอนนี้ เราได้แนะนำ XML DOM และใช้เมธอด getElementsByTagName() ของ XML DOM เพื่อดึงข้อมูลจากเอกสาร XML ในบทนี้เราจะรวมวิธี XML DOM ที่สำคัญอื่นๆ เข้าด้วยกัน คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ XML DOM ได้ในบทช่วยสอน XML DOM ของเรา รับค่าขององค์ประกอบในไฟล์ XML ที่ใช้ในตัวอย่างต่อไปนี้: books.xml ตัวอย่างต่อไปนี้ดึงค่าข้อความขององค์ประกอบ <title> แรก: ตัวอย่าง
txt=xmlDoc.getElementsByTagName("ชื่อ")[0].childNodes[0].nodeValue;
ลองเลย »
ตัวอย่างต่อไปนี้ดึงค่าข้อความของแอตทริบิวต์ "lang" ขององค์ประกอบ <title> แรก:
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
ลองเลย »
ตัวอย่างต่อไปนี้เปลี่ยนค่าข้อความขององค์ประกอบ <title> แรก:
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="ทำอาหารง่าย";
ลองเลย »
setAttribute() วิธีการของ XML DOM สามารถใช้เพื่อเปลี่ยนค่าของแอตทริบิวต์ที่มีอยู่หรือเพื่อสร้างแอตทริบิวต์ใหม่
ตัวอย่างต่อไปนี้สร้างแอตทริบิวต์ใหม่ (edition="first") และเพิ่มลงในแต่ละ <book> องค์ประกอบ:
x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++){x[i].setAttribute("edition","first");}
ลองเลย »
createElement() วิธีการของ XML DOM สร้างโหนดองค์ประกอบใหม่
createTextNode() วิธีการของ XML DOM สร้างโหนดข้อความใหม่
appendChild() วิธีการ XML DOM เพิ่มโหนดลูกให้กับโหนด (หลังจากโหนดลูกสุดท้าย)
หากต้องการสร้างองค์ประกอบใหม่ที่มีเนื้อหาข้อความ ให้สร้างโหนดองค์ประกอบใหม่และโหนดข้อความใหม่พร้อมกัน จากนั้นจึงผนวกเข้ากับโหนดที่มีอยู่
ตัวอย่างต่อไปนี้สร้างองค์ประกอบใหม่ (<edition>) โดยมีข้อความต่อไปนี้ ขั้นแรก จากนั้นจึงเพิ่มลงในองค์ประกอบ <book> แรก:
newel=xmlDoc.createElement("ฉบับ");newtext=xmlDoc.createTextNode("First");newel.appendChild(newtext);x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);
ลองเลย »
ตัวอย่างคำอธิบาย
สร้างองค์ประกอบ <ฉบับ>
สร้างโหนดข้อความที่มีค่า "แรก"
เพิ่มโหนดข้อความนี้ต่อท้ายองค์ประกอบ <edition> ใหม่
เพิ่มองค์ประกอบ <edition> ต่อท้ายองค์ประกอบ <book> แรก
ตัวอย่างต่อไปนี้จะลบโหนดแรกขององค์ประกอบ <book> แรก:
x=xmlDoc.getElementsByTagName("หนังสือ")[0];x.removeChild(x.childNodes[0]);
ลองเลย »
หมายเหตุ: ผลลัพธ์ของตัวอย่างข้างต้นอาจแตกต่างกันไปขึ้นอยู่กับเบราว์เซอร์ที่ใช้ Firefox ถือว่าอักขระขึ้นบรรทัดใหม่เป็นโหนดข้อความว่าง แต่ Internet Explorer ไม่ถือว่า คุณสามารถอ่านเพิ่มเติมเกี่ยวกับปัญหานี้และวิธีหลีกเลี่ยงได้ในบทช่วยสอน XML DOM ของเรา