قائمة عقدة XML DOM
يتم إرجاع قائمة بالعقد بواسطة أسلوب getElementsByTagName () وخاصية childNodes.
جربها بنفسك - أمثلة
تستخدم الأمثلة أدناه ملف XML books.xml .
يستخدم هذا المثال طريقة getElementsByTagName () للحصول على النص من أول عنصر <title> في "books.xml".
يستخدم هذا المثال قائمة العقد وخاصية length للتكرار خلال جميع عناصر <title> في "books.xml"
يستخدم هذا المثال قائمة سمات للحصول على سمة من أول عنصر <book> في "books.xml".
قائمة عقدة DOM
عند استخدام خصائص أو أساليب مثل childNodes أو getElementsByTagName () ، يتم إرجاع كائن قائمة العقدة.
يمثل كائن قائمة العقد قائمة بالعقد ، بنفس الترتيب كما في XML.
يتم الوصول إلى العقد في قائمة العقد بأرقام فهرس تبدأ من 0.
تمثل الصورة التالية قائمة عقدة لعناصر <title> في " books.xml ":
افترض أنه تم تحميل "books.xml" في المتغير xmlDoc.
يعرض جزء التعليمات البرمجية هذا قائمة عقدة بعناصر العنوان في "books.xml":
x = xmlDoc.getElementsByTagName("title");
بعد تنفيذ العبارة أعلاه ، x هو كائن قائمة العقدة.
يُرجع جزء التعليمات البرمجية التالي النص من أول عنصر <title> في قائمة العقدة (x):
مثال
var txt = x[0].childNodes[0].nodeValue;
بعد تنفيذ البيان أعلاه ، txt = "Everyday Italian".
طول قائمة العقدة
كائن قائمة العقدة يحافظ على نفسه محدثًا. إذا تم حذف عنصر أو إضافته ، يتم تحديث القائمة تلقائيًا.
خاصية طول قائمة العقد هي عدد العقد في القائمة.
يعرض جزء الرمز هذا عدد عناصر <title> في "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
بعد تنفيذ البيان أعلاه ، ستكون قيمة x هي 4.
يمكن استخدام طول قائمة العقد لإجراء تكرار خلال جميع العناصر الموجودة في القائمة.
يستخدم جزء الكود هذا خاصية length للتكرار خلال قائمة عناصر <title>:
مثال
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
انتاج:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
شرح المثال:
- افترض أنه تم تحميل " books.xml " في xmlDoc
- اضبط متغير x ليحتوي على قائمة عقدة لجميع عناصر العنوان
- اجمع قيم العقدة النصية من عناصر <title>
قائمة سمات DOM (مخطط العقدة المسماة)
تقوم خاصية السمات لعقدة عنصر بإرجاع قائمة بعقد السمات.
يسمى هذا مخطط العقدة المسماة ، وهو مشابه لقائمة العقد ، باستثناء بعض الاختلافات في الأساليب والخصائص.
قائمة السمات تحافظ على نفسها محدثة. إذا تم حذف سمة أو إضافتها ، يتم تحديث القائمة تلقائيًا.
يعرض جزء التعليمات البرمجية هذا قائمة بعُقد السمات من عنصر <book> الأول في "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
بعد تنفيذ الكود أعلاه ، x.length = هو عدد السمات ويمكن استخدام x.getNamedItem () لإرجاع عقدة سمة.
يحصل جزء الكود هذا على قيمة سمة "الفئة" وعدد سمات الكتاب:
مثال
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
انتاج:
cooking
1
شرح المثال:
- افترض أنه تم تحميل " books.xml " في xmlDoc
- اضبط المتغير x ليحتوي على قائمة بجميع سمات عنصر <book> الأول
- احصل على قيمة سمة "الفئة" وطول قائمة السمات