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

افزودن گره - appendChild()

appendChild() این روش فرزند را به گره موجود اضافه می‌کند.

گره جدید می‌تواند به هر یک از فرزندان موجود اضافه شود.

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

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

مثال 1

newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml که به xmlDoc در
  2. گره جدید <edition> ایجاد کنید
  3. گره را به اولین عنصر <book> اضافه کنید

عملکرد این کد مشابه با کد بالا است، اما یک مقدار جدید به عنصر جدید اضافه شده است:

مثال 2

newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("first edition");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml که به xmlDoc در
  2. گره جدید <edition> ایجاد کنید
  3. گره متنی جدیدی ایجاد کنید "نسخه اول"
  4. این گره متنی را به گره <edition> اضافه کنید
  5. گره <edition> را به عنصر <book> اضافه کنید

افزودن گره - insertBefore()

insertBefore() این روش گره را در پیش از گره زیرنویسی مشخص می‌کند.

اگر موقعیت گره اضافه شده مهم باشد، این روش بسیار مفید است:

مثال

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

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml که به xmlDoc در
  2. یک گره جدید <book> ایجاد کنید
  3. این گره جدید را به اولین گره <book> اضافه کنید
  4. اگر دومین پارامتر insertBefore() null باشد، گره جدید به آخرین گره موجود اضافه می‌شود.

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

افزودن ویژگی جدید

setAttribute() این روش مقدار ویژگی را تنظیم می‌کند.

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

مثال

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","نسخه اول");

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. مقدار ویژگی "edition" اولین عنصر <book> را به "نسخه اول" تنظیم کنید

توجه داشته باشید:مетодی به نام addAttribute() وجود ندارد، اگر ویژگی وجود ندارد، setAttribute() ویژگی جدید را ایجاد می‌کند. اگر ویژگی موجود باشد، روش setAttribute() مقدار موجود را پوشش می‌دهد.

افزودن متن به گره متنی - insertData()

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

insertData() این روش دو پارامتر دارد:

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

کد زیر بخش "من دوست دارم" را به اولین گره <title> XML بارگذاری شده اضافه می‌کند:

مثال

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"من دوست دارم");

آزمایش کنید