XML DOM - คุณสมบัติและวิธี
- หน้าก่อน การโหลด DOM
- หน้าต่อไป การเข้าถึงของ DOM
แอตทริบิวตและฟังก์ชันมีการกำหนดตัวอย่างการโปรแกรมสำหรับ XML DOM
ตัวอย่าง
ตัวอย่างด้านล่างใช้ไฟล์ XML books.xml
ฟังก์ชัน loadXMLDoc()ตั้งอยู่ด้านนอก JavaScript ในการโหลดไฟล์ XML
ฟังก์ชัน loadXMLString()ตั้งอยู่ด้านนอก JavaScript ในการโหลดตัวเส้น XML
ตัวอย่าง
DOM สร้างรูปแบบ XML ด้วยหน่วยงานนอก
มีการประกาศเข้าถึง DOM ผ่านระบบแฟ้มภาษาการโปรแกรมที่มีมาตรฐาน
แอตทริบิวตตั้งค่าตามรูปแบบ "มהตัวโดยสิ่งใด" (ตัวอย่างเช่น ชื่อตัวอย่าง คือ "book")
วิธีมักใช้ตามรูปแบบ "ทำอะไรกับสิ่งใดๆ" (เช่น ลบตัวเลือก "book" ออก)
คุณสมบัติ XML DOM
บางคุณสมบัติ DOM ที่เป็นทั่วไป:
- x.nodeName - ชื่อของ x
- x.nodeValue - ค่าของ x
- x.parentNode - ตัวเลือกพ่อของ x
- x.childNodes - ตัวเลือกย่อยของ x
- x.attributes - ตัวเลือกของคุณสมบัติของ x
หมายเหตุ:ในรายการที่กล่าวข้างต้น x คือตัวแปรที่เป็นตัวเลือก
วิธี XML DOM
- x.getElementsByTagName(name) - ดึงตัวเลือกที่มีชื่อแนวทางที่กำหนด
- x.appendChild(node) - ใส่ตัวเลือกย่อยเข้าใน x
- x.removeChild(node) - ลบตัวเลือกย่อยจาก x
หมายเหตุ:ในรายการที่กล่าวข้างต้น x คือตัวแปรที่เป็นตัวเลือก
ตัวอย่าง
รหัสบท JavaScript ที่ใช้ในการดึงข้อความจากแนวทาง <title> ใน books.xml
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
หลังจากที่ปฏิบัติการในประโยคนี้ txt จะเก็บค่า "Harry Potter"
ชี้แจง:
- xmlDoc - XML DOM ที่สร้างโดยประมวลเป็น XML
- getElementsByTagName("title")[0] - ตัวเลือก <title> แรก
- childNodes[0] - ตัวเลือกแรกของ <title> (ตัวเลือกข้อความ)
- nodeValue - ค่าของตัวเลือก (ข้อความตัวเอง)
ในตัวอย่างที่กล่าวข้างต้น getElementsByTagName คือวิธี และ childNodes และ nodeValue คือคุณสมบัติ
ประมวลเป็น XML ไฟล์ - ตัวอย่างที่สามารถใช้ในเบราซเซอร์ทั้งหลาย
รหัสบทดังนี้ใช้ฟังก์ชัน loadXMLDoc โหลด books.xml นำเข้า XML ลงในประมวลเป็น XML และแสดงข้อมูลของ book แรก
xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
ออกที่นี่:
Harry Potter J K. Rowling 2005
ในตัวอย่างที่กล่าวข้างต้น เราใช้ childNodes[0] สำหรับแนวทางของข้อความ แม้ว่าแต่ละองค์ประกอบมีข้อความเพียงตัวเดียวเท่านั้น นี่เนื่องมาจากวิธี getElementsByTagName() จะยิ่งกว่านี้ยิ่งกว่าจะคืนค่าแบบแผนซึ่งเป็นตัวแปร
ประมวลเป็น XML ซตริง - ตัวอย่างที่สามารถใช้ในเบราซเซอร์ทั้งหลาย
รหัสบทดังนี้นำเข้าและประมวลเป็น XML ซตริง
รหัสบทดังนี้ใช้ฟังก์ชัน loadXMLString โหลด books.xml โหลด XML ประสาทและแสดงข้อมูลของ book แรก:
text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
ออกที่นี่:
Harry Potter J K. Rowling 2005
- หน้าก่อน การโหลด DOM
- หน้าต่อไป การเข้าถึงของ DOM