เข้าถึงตัวเล่นเซ็กเกิล XML DOM

ด้วย DOM คุณสามารถเข้าถึงโหมดทุกตัวในเอกสาร XML

เข้าถึงโหมด

คุณสามารถเข้าถึงโหมดด้วยสามวิธี:

  • ด้วยการใช้วิธี getElementsByTagName()
  • ด้วยการวนลูป (วนเชื่อม) ต้นไม้โหมด
  • ด้วยการใช้ความสัมพันธ์ระหว่างโหมดในต้นไม้โหมด

วิธีการ getElementsByTagName()

getElementsByTagName() กลับคืนทั้งหมดส่วนที่มีชื่อฝายคุณคล้ายที่กำหนด

รูปแบบ

node.getElementsByTagName("tagname");

ตัวอย่าง

ตัวอย่างด้านล่างนี้กลับคืนทั้งหมด <title> ฝายคุณคล้ายที่อยู่ใต้ x ฝายคุณคล้าย:

x.getElementsByTagName("title");

โปรดระวังว่าตัวอย่างด้านบนก็เพียงกลับคืนส่วน <title> ฝายคุณคล้ายที่อยู่ใต้ x โดยไม่มีคำสั่งอื่น ๆ ในบรรดา <title> ฝายคุณคล้ายทั้งหมดในเอกสาร XML โปรดใช้คำสั่งดังนี้:

xmlDoc.getElementsByTagName("title");

ที่นี่xmlDoc ก็คือเอกสารตัวเอง (โหมดเอกสาร)。

DOM ฝายคุณคล้าย

getElementsByTagName() มีกลไกนี้กลับมาให้รายชื่อของโค้ด (node list) ซึ่งเป็นตัวเลือกที่เป็นแนวแบบของโค้ด

x = xmlDoc.getElementsByTagName("title");

สามารถเข้าถึงตัวเลือก <title> ใน x ด้วยหมายเลขดังนี้ ถ้าต้องการเข้าถึงตัวเลือกที่สาม คุณสามารถเขียนเช่นนี้

y = x[2];

หมายเหตุ:ดังนั้นตัวเลขจะเริ่มต้นที่ 0

ลองทดลองด้วยตัวเอง

ความยาวของรายชื่อของโค้ด DOM

length คุณสมบัติเพื่อกำหนดความยาวของรายชื่อของโค้ด (จำนวนของโค้ด)

คุณสามารถใช้ length คุณสมบัติเพื่อวนลูปผ่านรายชื่อของโค้ด

ตัวอย่าง

var x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
  // สามารถเขียนรหัสด้านล่างนี้เพื่อจัดการกับแต่ละโค้ด
  }

ลองทดลองด้วยตัวเอง

ประเภทของโค้ด

โค้ดของเอกสาร XML documentElement คุณสมบัติคือโค้ดราก

คุณสมบัติของโค้ดเป็น nodeName คุณสมบัติคือชื่อของโค้ด

คุณสมบัติของโค้ดเป็น nodeType คุณสมบัติคือประเภทของโค้ด

คุณจะเรียนรู้เกี่ยวกับคุณสมบัติของโค้ดมากยิ่งขึ้นในบทเรียนต่อไป

ลองทดลองด้วยตัวเอง

วนลูปโค้ด

รหัสด้านล่างนี้ทำงานเพื่อวนลูปผ่านโค้ดลูกของโค้ดราก (โค้ดที่เป็นตัวเลือกของโค้ด)

ตัวอย่าง

txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++) {
  // จัดการเฉพาะตัวเลือกของโค้ด (ประเภท 1)
  if (x[i].nodeType == 1) {
    txt += x[i].nodeName + "<br>";
  }
}

ลองทดลองด้วยตัวเอง

ตัวอย่างที่ชี้แจง

  1. ตอนนี้เปิดใจด้วยว่าคุณได้ทำขึ้นbooks.xml" โหลดเข้า xmlDoc
  2. ดึงโค้ดลูกของโค้ดราก (xmlDoc)
  3. 檢查每個子節點的節點類型。如果節點類型為 "1" แล้วจะเป็นตัวเลือกของโค้ด
  4. ถ้าเป็นตัวเลือกของโค้ด แล้วจะแสดงชื่อของโค้ด

เดินทางโครงสร้างของโค้ด

รหัสด้านล่างนี้ใช้เพื่อนำเสนอโค้ดที่ใช้งานโครงสร้างของโค้ดเพื่อเดินทางในต้นไม้โค้ด

ตัวอย่าง

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++) {
  // จัดการเฉพาะตัวเลือกของโค้ด (ประเภท 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

ลองทดลองด้วยตัวเอง

ตัวอย่างที่ชี้แจง

  1. ตอนนี้เปิดใจด้วยว่าคุณได้ทำขึ้นbooks.xml" โหลดเข้า xmlDoc
  2. ดึงโค้ดเดียวกับเด็กที่มีอยู่ใน element โดยใช้
  3. 將 "y" 參量設置為第一個 book 元素的第一个子節點
  4. 對於每個子節點(從第一個子節點 "y" 開始):
  5. 檢查每個子節點的節點類型。如果節點類型為 "1",則它是元素節點
  6. 如果是元素節點,則輸出該節點的名称
  7. 將 "y" 參量設置為下一同級節點,並再次運行循環