از شی NamedNodeMap  برای ایجاد یک لیست نامنظم از node ها استفاده می شود
 اگر لیستی از node ها را با استفاده از شی NamedNodeMap  ایجاد کنیم به هر node دلخواه می توانیم توسط نام ان دسترسی داشته باشیم
 

 NamedNodeMap خودش را به روز نگه می دارد

اگر یک node از نوع المنت به فایل xml ما اضافه یا حذف شود ، این لیست خود به خود به روز رسانی خواهد شد

 در لیستی که با استفاده از شی NamedNodeMap  بوجود می اید ، هیچ گونه ترتیب خاصی وجود ندارد
 

 حروف اختصاری زیر را در نظر بگیرید

در ضمن شماره های درون جدول به نسخه مرورگر مورد نظر اشاره دارد که از ان نسخه به بعد از ان ویژگی یا متد پشتیبانی می کند

 

IE: Internet Explorer

F: Firefox

O: Opera

W3C: World Wide Web Consortium (Internet Standard)

ویژگیهای شی NamedNodeMap
 جدول زیر ویژگیهای مربوط به شی NamedNodeMap را نشان می دهد

 

ویژگیتوضیحاتIEFOW3C
length تعداد node های درون لیست را نمایش می دهد 5 1 9 Yes

روش استفاده از این ویژگی بصورت زیر است :

 

nodemapObject.length

مثال

قطعه کد زیر ، ابتدا فایل books.xml را با استفاد از تابع loadXMLDoc بار گذاری می کند

و سپس تعداد صفتهای موجود دراولین تگ book را می دهد

 

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');

document.write(x.item(0).attributes.length);

 خط اول :

xmlDoc=loadXMLDoc("books.xml");

بار گذاری فایل books.xml ایجاد اشاره گری به نام xmldoc به این فایل

 

 خط دوم :

x=xmlDoc.getElementsByTagName('book');

 

از تمام تگ هایی که در فایل books هستند و اشاره گر xmldoc به ان فایل اشاره دارد ، ارایه ای به نام x ایجاد می کند

 

خط سوم :

document.write(x.item(0).attributes.length);

 

x :

یعنی در ارایه x

 

x.item(0)

یعنی عنصر شماره صفر از ارایه x که طبیعتا به اولین خانه x که اشاره به اولین تگ book در فایل books دارد اشاره می کند

 

x.item(0).attributes

یعنی ارایه ای از صفت های مربوط به تگی که خانه شماره صفرم x به ان اشاره دارد به صورت مجازی ایجاد می شود

 

x.item(0).attributes.length

تعداد این صفتها را مشخص می کند

 

 خروجی دستوربالا یک است

 

مشاهده و اجرای برنامه کامل

 

متدهای شی NamedNodeMap

 

MethodDescriptionIEFOW3C

 

getNamedItem()

اشاره گری به node مورد نظر که با اسمش مشخص کرده ایم ایجاد می کند 5 1 9 Yes

 

getNamedItemNS()

اشاره گری به node مورد نظر که با اسمش و namespace اش مشخص کرده ایم ایجاد می کند     9 Yes

 

item()

اشاره گر به node ای که با شماره ادیسش مشخص شده است ایجاد می شود 5 1 9 Yes

 

removeNamedItem()

 node مورد نظر که با اسمش مشخص کرده   حذف می کند  6 1 9 Yes

 

removeNamedItemNS()

 node مورد نظر که با اسمش و namespace اش مشخص کرده   حذف می کند     9 Yes

 

setNamedItem()

node ای که اسمش را مشخص کرده ایم تنظیم می کند     9 Yes

 

setNamedItemNS()

node ای که اسمش و namespace اش را مشخص کرده ایم تنظیم می کند     9 Yes
 
 در ادامه با این متدها آشنا می شوید
 
متد getNamedItem
این متد  اشاره گری به node مشخص شده ایجاد می کند
 روش استفاده از این متد :

 

getNamedItem(nodename)
 
 nodename : نام node مورد نظر است
 

 مثال :

قطعه کد زیر ، ابتدا فایل books.xml را با استفاد از تابع loadXMLDoc بار گذاری می کند

و سپس برای دسترسی به تمام تگ های المنت book یک حلقه ایجاد می کد و مقدار تمام صفتهای category انها را نمایش می دهد 

 

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');

for(i=0;i<x.length;i++)
  {


  att=x.item(i).attributes.getNamedItem("category");


  document.write(att.value + "");


  }

 

 خط اول :

xmlDoc=loadXMLDoc("books.xml");

بار گذاری فایل books.xml ایجاد اشاره گری به نام xmldoc به این فایل

 

 خط دوم :

x=xmlDoc.getElementsByTagName('book');

 

از تمام تگ هایی که در فایل books هستند و اشاره گر xmldoc به ان فایل اشاره دارد ، ارایه ای به نام x ایجاد می کند

 

 خط سوم :

for(i=0;i<x.length;i++)

 

به تعداد خانه های ارایه x که همان اشاره گر به هر تگ book است دستورات حلقه را اجرا می کند

هر خانه X به یکی از تگ های book اشاره می کند

 خط چهارم :

  att=x.item(i).attributes.getNamedItem("category");

 

 

 x : یعنی در ارایهx

 

 

x.item(i)

یعنی عنصر شماره i ام از ارایه x

 

x.item(i).attributes

یعنی ارایه ای از صفت های مربوط به تگی که خانه شماره i ام x به ان اشاره دارد به صورت مجازی ایجاد می شود

 

 

    att=x.item(i).attributes.getNamedItem("category");

اشاره گری به نام att به صفت category تگ book با اندیس i ایجاد می کند

 

 

document.write(att.value + "");

مقدار صفتی که att به ان اشاره دارد را نمایش می دهد

 خروجی برنامه بالا

COOKING
CHILDREN
WEB
WEB

 مشاهده و اجرای برنامه کامل
 
متد getNamedItemNS
 مطلبی ندارد !
 می توانید با کلیک در این قسمت به صفحه منبع مراجعه نمائید
 
متد item
 این متد در لیست node ها  ، اشاره گری به node ای که شماره اش را درپرانتز مشخص کرده ایم ایجاد می کند 
 روش استفاده از این متد :

 

item(index)

 مثال :

مثال برای این متد دقیقا مثال برای متد قبلی است

 
متد removeNamedItem
 این متد ، node مشخص شده را حذف می کند

 اگر node مشخص شده یک صفت باشد و مقدار پیش فرض داشته است ، بعد از حذف شدن ان صفت ، صفتی مشابه در نام و ادرس و محل قرار گیری با ان مقدار پیش فرض ایجاد می شود

 

متن اصلی پاراگراف بالا :

If the removed attribute has a default value, a new attribute immediately appears containing the default value as well as the namespace URI, local name, and prefix, if any.

 روش استفاده از این متد :

 

removeNamedItem(nodename)

 مثال

قطعه کد زیر ، ابتدا فایل books.xml را با استفاد از تابع loadXMLDoc بار گذاری می کند

و سپس برای دسترسی به تمام تگ های المنت book یک حلقه ایجاد می کند و تمام صفتهای category انها را حذف می کند 

 

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');

for(i=0;i<x.length;i++)
{
           x.item(i).attributes.removeNamedItem("category");
}

 صفتها از فایل اصلی یعنی books.xml حذف نمی شوند بلکه از ارایه ای که هر خانه ان اشاره گری به node های مورد نظر ما می باشند این موارد حذف می شوند

 توضیح این مثال لازم نیست

تمام موارد مشخص است

 مشاهده و اجرای برنامه کامل
 

متد removeNamedItemNS

متد setNamedItem

متد setNamedItemNS

  مطلبی ندارد !
  می توانید با کلیک در این قسمت به صفحه منبع مراجعه نمائید