รายการโหนด XML DOM
รายการโหนดถูกส่งกลับโดยเมธอด getElementsByTagName() และคุณสมบัติ childNodes
ลองด้วยตัวคุณเอง - ตัวอย่าง
ตัวอย่างด้าน ล่างใช้ไฟล์ XML books.xml
ตัวอย่างนี้ใช้วิธี getElementsByTagName() เพื่อรับข้อความจากองค์ประกอบ <title> แรกใน "books.xml"
ตัวอย่างนี้ใช้รายการโหนดและคุณสมบัติความยาวเพื่อวนซ้ำองค์ประกอบ <title> ทั้งหมดใน "books.xml"
ตัวอย่างนี้ใช้รายการแอตทริบิวต์เพื่อรับแอตทริบิวต์จากองค์ประกอบ <book> แรกใน "books.xml"
รายการโหนด DOM
เมื่อใช้คุณสมบัติหรือเมธอด เช่น childNodes หรือ getElementsByTagName() อ็อบเจ็กต์รายการโหนดจะถูกส่งคืน
โหนดรายการวัตถุแสดงถึงรายการของโหนด ในลำดับเดียวกับใน XML
โหนดในรายการโหนดสามารถเข้าถึงได้ด้วยหมายเลขดัชนีเริ่มต้นจาก 0
รูปภาพต่อไปนี้แสดงรายการโหนดขององค์ประกอบ <title> ใน " books.xml ":
สมมติว่า "books.xml" ถูกโหลดลงในตัวแปร xmlDoc
โค้ดส่วนนี้ส่งคืนรายการโหนดขององค์ประกอบชื่อใน "books.xml":
x = xmlDoc.getElementsByTagName("title");
หลังจากดำเนินการคำสั่งข้างต้น x เป็นอ็อบเจ็กต์รายการโหนด
โค้ดย่อยต่อไปนี้จะส่งคืนข้อความจากองค์ประกอบ <title> แรกในรายการโหนด (x):
ตัวอย่าง
var txt = x[0].childNodes[0].nodeValue;
หลังจากดำเนินการตามคำสั่งข้างต้นแล้ว txt = "ภาษาอิตาลีทุกวัน"
ความยาวของรายการโหนด
โหนดรายการวัตถุทำให้ตัวเองทันสมัยอยู่เสมอ หากองค์ประกอบถูกลบหรือเพิ่ม รายการจะถูกอัปเดตโดยอัตโนมัติ
คุณสมบัติความยาวของรายการโหนดคือจำนวนโหนดในรายการ
โค้ดส่วนนี้ส่งคืนจำนวนองค์ประกอบ <title> ใน "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
หลังจากดำเนินการตามคำสั่งข้างต้น ค่าของ x จะเป็น 4
ความยาวของรายการโหนดสามารถใช้เพื่อวนซ้ำองค์ประกอบทั้งหมดในรายการ
โค้ดแฟรกเมนต์นี้ใช้คุณสมบัติ length เพื่อวนซ้ำรายการ <title> องค์ประกอบ:
ตัวอย่าง
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
เอาท์พุท:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- ตั้งค่าตัวแปร x เพื่อเก็บรายการโหนดขององค์ประกอบชื่อทั้งหมด
- รวบรวมค่าโหนดข้อความจาก <title> องค์ประกอบ
รายการแอตทริบิวต์ DOM (แผนผังโหนดที่มีชื่อ)
คุณสมบัติแอตทริบิวต์ของโหนดองค์ประกอบส่งคืนรายการโหนดแอตทริบิวต์
นี่เรียกว่าโหนดแผนที่ที่มีชื่อ และคล้ายกับรายการโหนด ยกเว้นวิธีการและคุณสมบัติบางอย่างที่แตกต่างกัน
รายการแอตทริบิวต์ทำให้ตัวเองเป็นปัจจุบันอยู่เสมอ หากแอตทริบิวต์ถูกลบหรือเพิ่ม รายการจะถูกอัปเดตโดยอัตโนมัติ
โค้ดส่วนนี้ส่งคืนรายการโหนดแอตทริบิวต์จากองค์ประกอบ <book> แรกใน "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
หลังจากรันโค้ดด้านบนแล้ว x.length = คือจำนวนแอตทริบิวต์และ x.getNamedItem() สามารถใช้เพื่อส่งคืนโหนดแอตทริบิวต์ได้
โค้ดส่วนนี้รับค่าของแอตทริบิวต์ "หมวดหมู่" และจำนวนแอตทริบิวต์ของหนังสือ:
ตัวอย่าง
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
เอาท์พุท:
cooking
1
ตัวอย่างอธิบาย:
- สมมติว่า " books.xml " ถูกโหลดลงใน xmlDoc
- ตั้งค่าตัวแปร x เพื่อเก็บรายการแอตทริบิวต์ทั้งหมดของ <หนังสือ> องค์ประกอบ
- รับค่าของแอตทริบิวต์ "หมวดหมู่" และความยาวของรายการแอตทริบิวต์