زيارة العقد في DOM XML
- الصفحة السابقة عنصر DOM
- الصفحة التالية معلومات عن عناصر DOM
من خلال DOM، يمكنك الوصول إلى كل عقد في مستند XML.
زيارة العقد
يمكنك الوصول إلى العقد بثلاث طرق:
- من خلال استخدام طريقة getElementsByTagName()
- من خلال التدوير (المرور) في شجرة العقد
- من خلال استخدام علاقات العقد في شجرة العقد
getElementsByTagName() طريقة
getElementsByTagName()
يعود إلى جميع العناصر التي تحتوي على اسم علامة معين.
النحو
node.getElementsByTagName("tagname");
مثال
في المثال التالي، يعود إلى جميع عناصر <title> تحت x:
x.getElementsByTagName("title");
لاحظ أن المثال السابق يعود فقط إلى عناصر <title> تحت x. إذا كنت ترغب في العودة إلى جميع عناصر <title> في مستند XML، استخدم:
xmlDoc.getElementsByTagName("title");
في هذا السياق،xmlDoc
هي نفس المستند (عنصر المستند).
قائمة عناصر DOM
getElementsByTagName()
يستعيد هذا النوع قائمة العقدة (قائمة النود). قائمة العقدة هي مجموعة من العقدة.}
x = xmlDoc.getElementsByTagName("title");
يمكنك الوصول إلى عنصر <title> في x عبر الرقم المرجعي. إذا كنت ترغب في الوصول إلى العنصر الثالث <title>، يمكنك كتابة:
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>"; } }
توضيح المثال:
- افترض أنك قد قمت بتحميل "books.xml" تحميل إلى
xmlDoc
- الحصول على فروع العقدة الجذرية (xmlDoc)
- تحقق من نوع كل عقدة فرعية. إذا كان نوع العقدة هو "
1
"، فإنها عقدة عنصر - إذا كانت العقدة عناصر، فإنها تخرج اسم العقدة
علاقات التوجيه
يتم تنفيذ الكود التالي باستخدام علاقات العقد في شجرة العقدة:
مثال
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; }
توضيح المثال:
- افترض أنك قد قمت بتحميل "books.xml" تحميل إلى
xmlDoc
- الحصول على فروع العنصر الأول من book
- تعيين "y" إلى العنصر الأول للعنصر book الأول
- للعقدة الفرعية كلية (من العقدة الفرعية الأولى "
y
" (بدءًا من): - تحقق من نوع كل عقدة فرعية. إذا كان نوع العقدة هو "
1
"، فإنه هو عقدة عنصر - إذا كان العنصر هو عقدة، فإنه يجب طباعة اسم العنصر
- تعيين "
y
تعيين "y" إلى العنصر التالي من نفس المستوى، ثم تشغيل الدورة مرة أخرى
- الصفحة السابقة عنصر DOM
- الصفحة التالية معلومات عن عناصر DOM