XML DOM - รับโหนด
ในบทนี้เราจะศึกษาเกี่ยวกับวิธีรับค่าโหนดของอ็อบเจ็กต์ XML DOM เอกสาร XML มีลำดับชั้นของหน่วยข้อมูลที่เรียกว่าโหนด อ็อบเจ็กต์โหนดมีคุณสมบัติnodeValueซึ่งส่งคืนค่าขององค์ประกอบ
ในส่วนต่อไปนี้เราจะพูดถึง -
รับค่าโหนดขององค์ประกอบ
รับค่าแอตทริบิวต์ของโหนด
node.xmlใช้ในทุกตัวอย่างต่อไปนี้จะเป็นด้านล่าง -
<Company>
<Employee category = "Technical">
<FirstName>Tanmay</FirstName>
<LastName>Patil</LastName>
<ContactNo>1234567890</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Non-Technical">
<FirstName>Taniya</FirstName>
<LastName>Mishra</LastName>
<ContactNo>1234667898</ContactNo>
<Email>[email protected]</Email>
</Employee>
<Employee category = "Management">
<FirstName>Tanisha</FirstName>
<LastName>Sharma</LastName>
<ContactNo>1234562350</ContactNo>
<Email>[email protected]</Email>
</Employee>
</Company>
รับค่าโหนด
เมธอดgetElementsByTagName ()ส่งคืนNodeListขององค์ประกอบทั้งหมดตามลำดับเอกสารพร้อมชื่อแท็กที่กำหนด
ตัวอย่าง
ตัวอย่างต่อไปนี้ (getnode_example.htm) แยกวิเคราะห์เอกสาร XML ( node.xml ) ลงในอ็อบเจ็กต์ XML DOM และแยกค่าโหนดของโหนดลูกFirstname (ดัชนีที่ 0) -
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('FirstName')[0]
y = x.childNodes[0];
document.write(y.nodeValue);
</script>
</body>
</html>
การดำเนินการ
บันทึกไฟล์นี้เป็นgetnode_example.htmบนเส้นทางเซิร์ฟเวอร์ (ไฟล์นี้และ node.xml ควรอยู่บนเส้นทางเดียวกันในเซิร์ฟเวอร์ของคุณ) ในการส่งออกเราได้รับค่าโหนดเป็นTanmay
รับค่าคุณสมบัติ
แอตทริบิวต์เป็นส่วนหนึ่งขององค์ประกอบโหนด XML องค์ประกอบโหนดสามารถมีแอตทริบิวต์ที่ไม่ซ้ำกันได้หลายรายการ แอตทริบิวต์ให้ข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบโหนด XML เพื่อให้แม่นยำยิ่งขึ้นพวกเขากำหนดคุณสมบัติขององค์ประกอบโหนด แอตทริบิวต์ XML เป็นคู่ชื่อ - ค่าเสมอ ค่าของแอตทริบิวต์นี้เรียกว่าโหนดแอตทริบิวต์
getAttribute ()วิธีการดึงค่าแอตทริบิวต์ตามชื่อธาตุ
ตัวอย่าง
ตัวอย่างต่อไปนี้ (get_attribute_example.htm) แยกวิเคราะห์เอกสาร XML ( node.xml ) ลงในอ็อบเจ็กต์ XML DOM และแยกค่าแอ็ตทริบิวต์ของประเภทพนักงาน (ดัชนีที่ 2) -
<!DOCTYPE html>
<html>
<body>
<script>
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","/dom/node.xml",false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
x = xmlDoc.getElementsByTagName('Employee')[2];
document.write(x.getAttribute('category'));
</script>
</body>
</html>
การดำเนินการ
บันทึกไฟล์นี้เป็นget_attribute_example.htmบนเส้นทางเซิร์ฟเวอร์ (ไฟล์นี้และ node.xml ควรอยู่บนเส้นทางเดียวกันในเซิร์ฟเวอร์ของคุณ) ในการส่งออกที่เราได้รับค่าแอตทริบิวต์เป็นการบริหารจัดการ