XML DOM نیوٹ لیست
- پچھلے پہلہ DOM نود معلومات
- آئندہ پہلہ DOM نودوں کا دور چلانا
getElementsByTagName()
و childNodes
ویژگی استفاده میکنید، لیست نودها را برمیگرداند.
DOM نیوٹ لیست
وقتی از childNodes
یا getElementsByTagName()
وقتی به یک یا چند ویژگی یا روش دسترسی میکنید، شیء NodeList را برمیگرداند.
شیء NodeList لیستی از نودها را نشان میدهد، که ترتیب آنها با ترتیب در XML یکسان است.
نودهای لیست NodeList میتوانند از طریق شمارهای که از 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; برای (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 نودوں کا دور چلانا