تغییر مقادیر نودهای XML DOM

ویژگی nodeValue برای تغییر ارزش گره‌ها استفاده می‌شود.

روش setAttribute() برای تغییر ارزش ویژگی استفاده می‌شود.

مثال

مثال زیر از فایل XML استفاده می‌کند books.xml.

وظیفه loadXMLDoc()، در خارج از JavaScript، برای بارگذاری فایل XML استفاده می‌شود.

تغییر گره‌ی متن عناصر
در این مثال از ویژگی nodeValue برای تغییر گره‌ی متن اولین علامت <title> در "books.xml" استفاده می‌شود.
با استفاده از setAttribute برای تغییر ارزش ویژگی
در این مثال از روش setAttribute() برای تغییر ارزش ویژگی "category" اولین <book> استفاده می‌شود.
با استفاده از nodeValue برای تغییر ارزش ویژگی
در این مثال از ویژگی nodeValue برای تغییر ارزش ویژگی "category" اولین <book> استفاده می‌شود.

تغییر ارزش عناصر

در DOM، هر نوع اجزا گره‌ها هستند. گره‌های عناصر دارای ارزش متن نیستند.

متن گره‌های عناصر در زیرگره‌ها ذخیره می‌شود. این گره به عنوان گره‌ی متن شناخته می‌شود.

روش تغییر متن عناصر، تغییر ارزش این زیرگره (گره‌ی متن) است.

تغییر ارزش گره‌های متن

ویژگی nodeValue برای تغییر ارزش گره‌های متن استفاده می‌شود.

کد زیر گره‌ی متن اولین علامت <title> را تغییر می‌دهد:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

مثال توضیحی:

  • با استفاده از loadXMLDoc() مقدار "books.xml" وارد xmlDoc شود
  • گره‌ی متن اولین علامت <title> را بدست آورید
  • ارزش گره‌ی متن این متن را به "Hello World" تغییر دهید

TIY

گذر از تمام گره‌های متن نقطه‌ی <title> و تغییر آن‌ها:TIY

تغییر ارزش ویژگی

در DOM، ویژگی‌ها نیز گره‌ها هستند. برخلاف گره‌های عناصر، گره‌های ویژگی دارای ارزش متن هستند.

روش تغییر ارزش ویژگی، تغییر ارزش متن آن است.

این کار را می‌توان با استفاده از روش setAttribute() یا ویژگی nodeValue نقطه‌ی داده (node) انجام داد.

با استفاده از setAttribute() برای تغییر ویژگی‌ها

مетод setAttribute() مقدار ویژگی‌های موجود را تنظیم می‌کند یا ویژگی‌های جدید ایجاد می‌کند.

کد زیر ویژگی category عناصر <book> را تغییر می‌دهد:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","child");

مثال توضیحی:

  • با استفاده از loadXMLDoc() مقدار "books.xml" وارد xmlDoc شود
  • اولین عنصر <book> را دریافت کنید
  • مقدار ویژگی "category" را به "child" تغییر دهید

TIY

تمام <title> را بررسی کنید و یک ویژگی جدید اضافه کنید:TIY

نکته:اگر گره ویژگی وجود ندارد، یک ویژگی جدید (با نام و مقدار مشخص شده) ایجاد می‌شود.

با استفاده از nodeValue ویژگی تغییر دهید

ویژگی nodeValue می‌تواند برای تغییر مقدار گره ویژگی استفاده شود:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
y=x.getAttributeNode("category");
y.nodeValue="child";

مثال توضیحی:

  • با استفاده از loadXMLDoc() مقدار "books.xml" وارد xmlDoc شود
  • ویژگی "category" اولین عنصر <book> را دریافت کنید
  • مقدار این گره ویژگی به "child" تغییر دهید

TIY