أحدث البرامج التعليمية وتطوير الشبكة
 

XML DOM إزالة العقد


و removeChild() طريقة إزالة عقدة معينة.

و removeAttribute() طريقة إزالة سمة محددة.


انها محاولة لنفسك - أمثلة

الأمثلة استخدام ملف XML books.xml .

إزالة عقدة عنصر
يستخدم هذا المثال removeChild() لإزالة الأول <book> العنصر.

إزالة عقدة عنصر الحالية
يستخدم هذا المثال parentNode و removeChild() لإزالة الحالي <book> العنصر.

إزالة عقدة النص
يستخدم هذا المثال removeChild() لإزالة عقدة النص من أول <title> العنصر.

مسح النص من عقدة النص
يستخدم هذا المثال nodeValue() الملكية لمسح عقدة النص من أول <title> العنصر.

إزالة سمة بالاسم
يستخدم هذا المثال removeAttribute() لإزالة "category" سمة من أول <book> العنصر.

إزالة سمات من كائن
يستخدم هذا المثال removeAttributeNode() لإزالة كل الصفات من جميع <book> العناصر.

×

رأس


إزالة عقدة العنصر

و removeChild() طريقة إزالة عقدة معينة.

عند إزالة عقدة، يتم أيضا إزالة جميع العقد التابعة لها.

وهذا الرمز إزالة الأول <book> عنصر من أكس تحميل:

مثال

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

xmlDoc.documentElement.removeChild(y);
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml " يتم تحميل xmlDoc
  2. تعيين المتغير y أن تكون العقدة عنصر لإزالة
  3. إزالة عقدة عنصر باستخدام removeChild() طريقة من عقدة الأم

إزالة نفسي - إزالة العقدة الحالية

و removeChild() الأسلوب هو الطريقة الوحيدة لإزالة العقدة المحددة.

عندما يكون لديك أبحر إلى العقدة التي تريد إزالتها، فمن الممكن لإزالة تلك العقدة باستخدام خاصية parentNode و removeChild() الأسلوب:

مثال

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

x.parentNode.removeChild(x);
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. تعيين المتغير y أن تكون العقدة عنصر لإزالة
  3. إزالة عقدة العنصر باستخدام الخاصية parentNode و removeChild() طريقة

إزالة عقدة النص

و removeChild() يمكن أن تستخدم أيضا طريقة لإزالة عقدة النص:

مثال

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. تعيين متغير x لتكون عقدة عنصر العنوان الأول
  3. تعيين المتغير y أن تكون عقدة النص لإزالة
  4. إزالة عقدة عنصر باستخدام removeChild() طريقة من عقدة الأم

انها ليست شائعة جدا للاستخدام removeChild() فقط لإزالة النص من عقدة. الخاصية nodeValue يمكن أن تستخدم بدلا من ذلك. انظر الفقرة التالية.


مسح عقدة النص

الخاصية nodeValue يمكن استخدامها لتغيير القيمة من عقدة النص:

مثال

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. الحصول على أول عقدة تابعة لعنصر العنوان الأول.
  3. استخدام الخاصية nodeValue لمسح النص من عقدة النص

حلقة من خلال وتغيير عقدة نص عن <title> عناصر هي: انها محاولة لنفسك


إزالة عقدة السمة التي كتبها اسم

و removeAttribute() طريقة إزالة عقدة سمة باسمه.

على سبيل المثال: removeAttribute('category')

هذا الرمز يزيل "category" السمة في الأول <book> العنصر:

مثال

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");
انها محاولة لنفسك »

وأوضح سبيل المثال:

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. استخدام getElementsByTagName() للحصول على العقد كتاب
  3. إزالة "category" السمة تشكل عقدة عنصر الكتاب الأول

حلقة من خلال وإزالة "category" سمة من جميع <book> عناصر هي: انها محاولة لنفسك


إزالة العقد السمة التي كتبها كائن

طريقة removeAttributeNode () يزيل عقدة سمة، وذلك باستخدام الكائن عقدة كمعلمة.

على سبيل المثال: removeAttributeNode(x)

هذا الرمز إزالة كافة سمات كل <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() للحصول على كافة العقد كتاب
  3. لكل عنصر كتاب معرفة ما اذا كان هناك أي سمات
  4. في حين أن هناك سمات في عنصر الكتاب، إزالة السمة