XML DOM - คุณสมบัติและวิธี

แอตทริบิวตและฟังก์ชันมีการกำหนดตัวอย่างการโปรแกรมสำหรับ XML DOM

ตัวอย่าง

ตัวอย่างด้านล่างใช้ไฟล์ XML books.xml

ฟังก์ชัน loadXMLDoc()ตั้งอยู่ด้านนอก JavaScript ในการโหลดไฟล์ XML

ฟังก์ชัน loadXMLString()ตั้งอยู่ด้านนอก JavaScript ในการโหลดตัวเส้น XML

โหลดและเปิดอ่านไฟล์ XML
โหลดและเปิดอ่านตัวเส้น 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

TIY

ในตัวอย่างที่กล่าวข้างต้น เราใช้ 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

TIY