قائمة العناصر DOM لـ XML
- الصفحة السابقة معلومات العقدة DOM
- الصفحة التالية استكشاف العقد في DOM
getElementsByTagName()
و روشها childNodes
این ویژگیها را استفاده میکنید، لیست گرهها را بازمیگردانید.
قائمة عناصر DOM
وقتی که از childNodes
یا getElementsByTagName()
هنگام استفاده از برخی از属性 یا روشها، شیء NodeList بازمیگردانده میشود.
شیء NodeList لیستی از گرهها را نشان میدهد که ترتیب آنها با ترتیب در XML مشابه است.
گرههای لیست گرهها از طریق شمارههای نشانهای که از 0 شروع میشود قابل دسترسی هستند.
تصویر زیر نشان میدهد: books.xml لیست گرههای عناصر <title>:

فرض کنید "books.xml" به عنوان یک متغیر xmlDoc بارگذاری شده باشد.
این کد فایل برگردان لیست گرههای عناصر title در فایل "books.xml" را میدهد:
x = xmlDoc.getElementsByTagName("title");
بعد از اجرای عبارات بالا، x به یک شیء NodeList تبدیل میشود.
يتم إرجاع قطعة الكود التالية قائمة العقد (x) للنص من العنصر الأول <title>:
النموذج
var txt = x[0].childNodes[0].nodeValue;
بعد تنفيذ الجملة المذكورة أعلاه، txt = "ياسر تتحدث عن الأكل".
طول قائمة العقد
عنصر NodeList سيبقى قيد التحديث الذاتي. إذا تم حذف أو إضافة عنصر، فإن القائمة ستحتاج إلى تحديث تلقائي.
قائمة العقد length
الخاصية هي عدد العقد في القائمة.
هذا الكود يعود بعدد العناصر <title> في ملف "books.xml":
x = xmlDoc.getElementsByTagName('title').length;
بعد تنفيذ الجملة المذكورة أعلاه،x
انه 5.
طول قائمة العقدات يمكن استخدامه لتدوير جميع العناصر في القائمة.
يستخدم الكود المذكور أعلاه length
التحكم في الخاصيات لاستكشاف قائمة العناصر <title>:
النموذج
x = xmlDoc.getElementsByTagName('title'); xLen = x.length; for (i = 0; i <xLen; i++) { txt += (x[i].childNodes[0].nodeValue) + " "; }
توضيح المثال:
- افتراض books.xml تم تحميلها
xmlDoc
الوسط - تعيين المتغير x لحفظ قائمة العقدات لجميع العناصر <title>
- الحصول على قيمة النص من العنصر <title>
قائمة الخاصيات DOM (خريطة العقدة المسمى)
عقدة العنصر attributes
العقدة تعود بقائمة عقدات الخاصيات.
هذا يُدعى خريطة العقدة المسمى (named node map)، يشبه قائمة العقدات، ولكن لديه طرق وخصائص مختلفة.
قائمة الخاصيات ستبقى أحدث. إذا تم حذف أو إضافة خاصية، فإن القائمة ستحتاج إلى تحديث تلقائي.
هذا الكود يعود بقائمة عقدات الخاصيات من العنصر الأول <book> في ملف "books.xml":
x = xmlDoc.getElementsByTagName('book')[0].attributes;
بعد تنفيذ الكود المذكور أعلاه،x.length
يساوي عدد الخاصيات، يمكن استخدام x.getNamedItem()
يتم إرجاع عقدة الخاصية.
هذا الكود يحصل على قيمة الخاصية "category" لأول كتاب، بالإضافة إلى عدد الخاصيات:
النموذج
x = xmlDoc.getElementsByTagName("book")[0].attributes; txt = x.getNamedItem("category").nodeValue + " " + x.length;
توضيح المثال:
- افتراض books.xml تم تحميله إلى
xmlDoc
الوسط - تعيين المتغير x لحفظ قائمة الخاصيات لكل علامة <book> الأولى
- الحصول على قيمة الخاصية "category" ومدى طول قائمة الخاصيات
- الصفحة السابقة معلومات العقدة DOM
- الصفحة التالية استكشاف العقد في DOM