لیست گره XML DOM
- صفحه قبل اطلاعات گره DOM
- صفحه بعدی بازدید از گرههای DOM
لیست گرهها توسط روش getElementsByTagName() و ویژگی childNodes بازمیگردانند.
مثال
در این مثال از فایل XML استفاده میشود books.xml.
функشن loadXMLDoc()، که در JavaScript خارجی قرار دارد و برای بارگذاری فایل XML استفاده میشود.
- متن از اولین عنصر <title> دریافت میشود
- در این مثال از روش getElementsByTagName() برای دریافت متن از عنصر اول <title> از books.xml استفاده میکنیم.
- با استفاده از ویژگی length گرهها را میچرخانیم
- در این مثال از لیست گرهها و ویژگی length برای جستجوی تمام عناصر <title> در books.xml استفاده میکنیم.
- ویژگیهای عنصر را دریافت میکنیم
- در این مثال از لیست ویژگیها برای دریافت ویژگیهای عنصر اول <title> از فایل books.xml استفاده میکنیم.
لیست گره DOM
وقتی از ویژگیها یا روشهایی مانند childNodes یا getElementsByTagName() استفاده میکنیم، یک عنصر NodeList بازمیگردانیم.
عنصر NodeList یک لیست از گرهها را نشان میدهد که در XML به همان ترتیب نمایش داده میشود.
از شمارندهای که از 0 شروع میشود برای دسترسی به گرههای لیست گرهها استفاده میکنیم.
این تصویر نشاندهنده "books.xml"یک لیست گره از عناصر <title> در

بخش کد زیر با استفاده از loadXMLDoc() "books.xml" را به xmlDoc بارگذاری میکند و بازمیگرداند "books.xml"یک لیست گره از عناصر title در
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
در اجرای جمله بالا، x یک عنصر NodeList میشود.
این کد کوچک از گره اولین عناصر <title> در لیست گرهها x بازمیگرداند:
txt=x[0].childNodes[0].nodeValue;
در اجرای جمله بالا، txt = "Everyday Italian" است.
طول لیست گره
عنصر NodeList بهروزرسانی خود را حفظ میکند. اگر عنصرها را حذف یا اضافه کنید، لیست بهطور خودکار بهروزرسانی میشود.
ویژگی length لیست گرهها تعداد گرههای لیست است.
بخش کد زیر با استفاده از loadXMLDoc() بصورت "books.xml"documnet.write("books.xml"، و تعداد عناصر <title> را در آن بازمیگرداند:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
در اجرای جمله بالا، x = 4 است.
طول لیست گرهها میتواند برای حلقه در تمام عناصر لیست استفاده شود.
این کد کوچک از ویژگی length برای جستجو در لیست عناصر <title> استفاده میکند:
xmlDoc=loadXMLDoc("books.xml"); // متغیر x یک لیست گره را نگه میدارد x=xmlDoc.getElementsByTagName('title'); برای (i=0; i<x.length; i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
نمایش:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
مثال توضیحی:
- با استفاده از loadXMLDoc() بصورت "books.xml"documnet.write("<br />");
- مقدار x را برای لیست گرههای تمام عناصر title تنظیم میکند
- مقدار خروجی همه گرههای متن <title> را نمایش میدهد
لیست ویژگیهای DOM (Named Node Map)
ویژگی attributes گرههای عنصر بازگشت لیستی از گرههای ویژگی را میدهد.
این به عنوان Named Node Map شناخته میشود، به جز تفاوتهای کمی در روشها و ویژگیها، با لیست گرهها مشابه است.
لیست ویژگیها بهروزرسانی خود را حفظ میکند. اگر ویژگیها را حذف یا اضافه کنید، این لیست بهطور خودکار بهروزرسانی میشود.
بخش کد زیر با استفاده از loadXMLDoc() بخش کد زیر "books.xml" را به xmlDoc بارگذاری میکند و از "books.xmlبخش " اولین <book> درون "
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
با اجرای این کد، x.length برابر با تعداد ویژگیها است و میتوان از x.getNamedItem() برای بازگشت گره ویژگی استفاده کرد.
بخش کد زیر یک لیست گرههای ویژگی برای ویژگی "category" یک book و تعداد ویژگیها را نمایش میدهد:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
نمایش:
children 1
مثال توضیحی:
- با استفاده از loadXMLDoc() بصورت "books.xml" به xmlDoc بارگذاری میکند
- مقدار متغیر x را به لیست ویژگیهای تمام <book> اولین عناصر تنظیم میکند
- مقدار "category" ویژگی را نمایش میدهد
- طول لیست ویژگیها را نمایش میدهد
- صفحه قبل اطلاعات گره DOM
- صفحه بعدی بازدید از گرههای DOM