استكشاف العقد في XML DOM

استكشاف (Traverse) يعني التكرار أو التحرك في شجرة العقد.

مثال

النموذج التالي يستخدم ملف XML: books.xml.

وظيفة loadXMLString()، الموجود في JavaScript الخارجي، لتحميل ملف XML.

استكشاف شجرة العقد
تكرار جميع أطفال عنصر <book>.

استكشاف شجرة العقد

تحتاج عادةً إلى تكرار مستند XML، مثل: عندما تحتاج إلى استخراج قيمة كل عنصر.

هذا العمل يُدعى "استكشاف شجرة العقد".

النموذج التالي يعيد تكرار جميع أطفال <book> ويظهر أسمائهم وقيمهم:

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
xmlDoc=loadXMLString(text);
// documentElement represents the root node always
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
document.write(": ");
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}
</script>
</body>
</html>

الإخراج:

title: Harry Potter
author: J K. Rowling
year: 2005

توضيح الأمثلة:

  • loadXMLString() تحميل سلسلة XML إلى xmlDoc
  • الحصول على فرع الأبناء للعنصر الجذر
  • أخرج اسم كل فرع فرعي، بالإضافة إلى قيمة عنصر النص

TIY