افزودن نواحی XML DOM

مثال

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

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

یک نود در پس از آخرین زیرنود اضافه شود
این مثال از روش appendChild() برای اضافه کردن یک زیرنود به یک نود موجود استفاده می‌کند.
یک نود در قبل از یک زیرنود مشخص اضافه شود
این مثال از روش insertBefore() برای اضافه کردن یک نود در قبل از یک زیرنود مشخص استفاده می‌کند.
ویژگی جدید اضافه شود
این مثال از روش setAttribute() برای اضافه کردن یک ویژگی جدید استفاده می‌کند.
داده به نود متن اضافه شود
این مثال از روش insertData() برای اضافه کردن داده به یک نود متن استفاده می‌کند.

اضافه كردن نود - appendChild()

مетод appendChild() برای اضافه کردن زیرنود به یک نود موجود استفاده می‌شود.

نود جدید به هر زیرنود موجود اضافه خواهد شد (در انتهای آن).

توجه:اگر موقعیت نود اهمیت دارد، لطفاً از روش insertBefore() استفاده کنید.

این بخش از کد یک عنصر (برای <edition>) ایجاد کرده و آن را به آخرین زیرنود اولین عنصر <book> اضافه می‌کند:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

توضیح مثال:

  1. با استفاده از loadXMLDoc() این را اضافه می‌کند:books.xmlدر xmlDoc ذخیره می‌شود
  2. یک نود جدید <edition> ایجاد کنید
  3. این نود را به اولین عنصر <book> اضافه کنید

TIY

تکرار کنید و یک عنصر را به همه عناصر <book> اضافه کنید:TIY

درج نود - insertBefore()

مетод insertBefore() برای اضافه کردن نود در قبل از یک زیرنود مشخص استفاده می‌شود.

این روش در مواقعی که موقعیت نود اهمیت دارد، بسیار مفید است.

xmlDoc=loadXMLDoc("books.xml");
newNode=xmlDoc.createElement("book");
x=xmlDoc.documentElement;
y=xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);

توضیح مثال:

  1. با استفاده از loadXMLDoc() این را اضافه می‌کند:books.xmlدر xmlDoc ذخیره می‌شود
  2. یک نود عناصر جدید <book> ایجاد کنید
  3. این نود را قبل از آخرین نود <book> قرار دهید

TIY

اگر دومین پارامتر insertBefore() null باشد، نود جدید به آخرین زیرنود موجود اضافه خواهد شد.

x.insertBefore(newNode,null) و x.appendChild(newNode) همه می‌توانند یک زیرنود جدید را به x اضافه کنند.

اضافه كردن ويژگي جديد

مетод addAtribute() وجود ندارد.

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

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

توضیح مثال:

  1. با استفاده از loadXMLDoc() این را اضافه می‌کند:books.xmlدر xmlDoc ذخیره می‌شود
  2. مقدار ویژگی "edition" اولین عنصر <book> را به "first" تنظیم (ایجاد) می‌کند:

TIY

توجه:اگر ویژگی موجود باشد، متد setAttribute() ارزش موجود را پوشش می‌دهد.

افزودن متن به نقطه متن - insertData()

متد insertData() داده‌ها را به نقطه متن موجود اضافه می‌کند.

متد insertData() دو پارامتر دارد:

  • offset - جایی که باید شروع به اضافه کردن حروف شود (از 0 شروع می‌شود)
  • string - زبانی که باید اضافه شود

کد زیر "Easy" را به نقطه متن اولین عنصر <title> XML بارگذاری شده اضافه می‌کند:

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

TIY