ลิสต์องค์ประกอบ XML DOM
- หน้าก่อนหน้า ข้อมูลตัวเลือก DOM
- หน้าต่อไป เดินทางโหลดตัวเลือก DOM
getElementsByTagName()
หน่วยกระทำและ childNodes
คุณสมบัตินี้จะกลับค่าลิสต์ของจุดหรือองค์ประกอบ
ลิสต์ขององค์ประกอบ DOM
เมื่อใช้ childNodes
หรือ getElementsByTagName()
เมื่อใช้หน่วยความหมายหรือหน่วยกระทำเพื่อหาคุณสมบัติหรือเทคนิค จะกลับค่า NodeList ออปเจ็กต์
ตัวเรียกใช้ NodeList ระบุรายชื่อของจุดหรือองค์ประกอบ ที่มีลำดับเหมือนกันกับ XML
จุดหรือองค์ประกอบในลิสต์ของ NodeList สามารถเข้าถึงด้วยหมายเลขดัชนีที่เริ่มต้นที่ 0
รูปตัวอย่างนี้แสดง books.xml ลิสต์ของโครงสร้าง <title> ที่ตั้งตาราง:

เป็นบางครั้งที่ "books.xml" ถูกโหลดเข้าไปในตัวแปร xmlDoc
บทบาทนี้จะกลับค่าลิสต์ของโครงสร้างที่มีความหมาย "books.xml" สำหรับแอททริบิวต์ title
x = xmlDoc.getElementsByTagName("title");
หลังจากทำงานที่ส่วนบนนี้เสร็จแล้ว x จะกลายเป็นตัวเรียกใช้ NodeList ออปเจ็กต์
รหัสด้านล่างนี้กลับค่าของข้อความขององค์ประกอบ <title> แรกในตัวแปร (x):
ตัวอย่าง
var txt = x[0].childNodes[0].nodeValue;
หลังจากที่ปฏิบัติงานของคำสั่งด้านบนเสร็จแล้ว txt = "雅舍谈吃".
ความยาวของรายการตัวแปล (node list)
ตัวแปล NodeList จะปรับปรุงตัวเอง. ถ้าลบหรือเพิ่มองค์ประกอบ รายการจะปรับปรุงเองโดยอัตโนมัติ.
รายการตัวแปลของโครงสร้างตัวแปล (node list) length
คุณสมบัติเป็นจำนวนของตัวแปลในรายการ.
รหัสนี้กลับค่าจำนวนขององค์ประกอบ <title> ใน "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
หลังจากที่ปฏิบัติงานของคำสั่งด้านบนเสร็จแล้วx
มีค่าเท่า 5.
ความยาวของรายการตัวแปล (node list) สามารถใช้ในการวนลูปผ่านทุกองค์ประกอบในรายการ.
รหัสนี้ใช้ length
ใช้วิธีคุณสมบัติเพื่อวนลูปผ่านรายการองค์ประกอบ <title>:
ตัวอย่าง
x = xmlDoc.getElementsByTagName('title'); xLen = x.length; for (i = 0; i <xLen; i++) { txt += x[i].childNodes[0].nodeValue) + " "; }
ตัวอย่างที่ชี้แจง:
- หน้าต้องการ books.xml ที่มีความหมายเพิ่มเติม
xmlDoc
จีน - ตั้งตัวแปร x เพื่อเก็บรายการตัวแปลขององค์ประกอบทั้งหมดที่มีความหมาย <title>
- ดึงค่าของตัวแปลของข้อความจากองค์ประกอบ <title>
รายการคุณสมบัติของ DOM (named node map)
ของตัวแปลขององค์ประกอบ (element node) attributes
คุณสมบัติกลับค่าของรายการตัวแปล (node list) ของตัวแปลของคุณสมบัติ.
นี่เรียกว่า named node map ที่คล้ายกับรายการตัวแปล (node list) แต่มีวิธีและคุณสมบัติที่ต่างกัน.
รายการคุณสมบัติจะมีความปรับปรุงเอง. ถ้าลบหรือเพิ่มคุณสมบัติ รายการจะปรับปรุงเองโดยอัตโนมัติ.
รหัสนี้จะกลับค่าของตัวแปรของโครงสร้างตัวแปล (node map) ตัวแรกของ <book> ใน "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
หลังจากที่รหัสด้านบนปฏิบัติงานแล้วx.length
เท่ากับจำนวนของคุณสมบัติ สามารถใช้ x.getNamedItem()
กลับค่าของตัวแปรของโครงสร้างตัวแปล (node map).
รหัสนี้ใช้ในการดึงค่าของ "category" แบบคุณสมบัติ และจำนวนของคุณสมบัติของหนังสือแรก:
ตัวอย่าง
x = xmlDoc.getElementsByTagName("book")[0].attributes; txt = x.getNamedItem("category").nodeValue + " " + x.length;
ตัวอย่างที่ชี้แจง:
- หน้าต้องการ books.xml ที่ถูกโหลดเข้า
xmlDoc
จีน - ตั้งค่าตัวแปร x เพื่อบันทึกรายการคุณสมบัติขององค์ประกอบ <book> แรก
- เพื่อให้หาค่าของคุณสมบัติ "category" และความยาวของรายการคุณสมบัติ
- หน้าก่อนหน้า ข้อมูลตัวเลือก DOM
- หน้าต่อไป เดินทางโหลดตัวเลือก DOM