حذف نواحی XML DOM

removeChild() مетод گره مشخصی را حذف می‌کند.

removeAttribute() مетод خاصیت مشخصی را حذف می‌کند.

حذف گره عنصر

removeChild() مетод گره مشخصی را حذف می‌کند.

وقتی یک گره حذف می‌شود، تمام گره‌های فرزند آن نیز حذف می‌شوند.

این کد اولین عناصر <book> موجود در xml بارگذاری شده را حذف می‌کند:

مثال

y = xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. متغیر را تنظیم می‌کند تنها برای گره‌های element برای حذف گره‌های element تنظیم می‌شود
  3. استفاده removeChild() مетод گره عناصر پدر را حذف می‌کند

حذف خود - حذف گره فعلی

removeChild() این روش تنها روشی است که می‌توانید گره مشخصی را حذف کنید.

هنگامی که به گره‌ای که می‌خواهید حذف کنید هدایت می‌شوید، می‌توانید از parentNode ویژگی‌ها و removeChild() مетод برای حذف این گره:

مثال

x = xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. متغیر را تنظیم می‌کند تنها برای گره‌های element برای حذف گره‌های element تنظیم می‌شود
  3. استفاده parentNode ویژگی‌ها و removeChild() روش برای حذف گره‌های element استفاده می‌شود

حذف گره‌های متن

removeChild() این روش همچنین می‌تواند برای حذف گره‌های متن استفاده شود:

مثال

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. متغیر را تنظیم می‌کند x به اولین گره element title
  3. متغیر را تنظیم می‌کند تنها برای تنها برای
  4. استفاده removeChild() روش برای حذف گره از گره پدر استفاده می‌شود

تنها از removeChild() حذف متن از گره‌ها معمولاً کمتر دیده می‌شود. می‌توان از ویژگی nodeValue به جای آن استفاده کرد. لطفاً به بخش بعدی مراجعه کنید.

پاک کردن گره‌های متن

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

مثال

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. اولین گره child عناصر title را دریافت می‌کند
  3. استفاده nodeValue ویژگی برای پاک کردن متن گره‌های متن استفاده می‌شود

بر اساس نام گره ویژگی حذف می‌شود

removeAttribute() این روش برای حذف گره ویژگی بر اساس نام استفاده می‌شود.

مثال 1

کد زیر ویژگی "category" را از اولین element <book> حذف می‌کند:

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. استفاده getElementsByTagName() برای دریافت گره book
  3. ویژگی "category" را از اولین گره element "book" حذف می‌کند

مثال 2

دوره و حذف تمام ویژگی‌های "category" عناصر <book>:

for (i = 0; i < xLen; i++) {
    y = x.item(i);
    y.removeAttribute('category');
}

آزمایش کنید

بر اساس گره ویژگی حذف می‌شود

removeAttributeNode() این روش از استفاده از Node به عنوان پارامتر برای حذف گره ویژگی استفاده می‌کند.

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

مثال

x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++) {
    while (x[i].attributes.length > 0) {
        attnode = x[i].attributes[0];
        old_att = x[i].removeAttributeNode(attnode);
    }
}

آزمایش کنید

توضیح مثال:

  1. فرض کنید books.xml به xmlDoc در
  2. استفاده getElementsByTagName() برای دریافت همه گره‌های book
  3. بررسی کنید که آیا هر گره book ویژگی دارد یا خیر
  4. اگر ویژگی‌ای در گره book وجود داشته باشد، آن ویژگی را حذف کنید