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

XML DOM اضافة العقد


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

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

إضافة عقدة بعد عقدة تابعة مشاركة
يستخدم هذا المثال appendChild() لإضافة عقدة تابعة للعقدة الحالية.

إضافة عقدة قبل عقدة تابعة محددة
يستخدم هذا المثال insertBefore() لادخال عقدة أمام عقدة تابعة محددة.

إضافة سمة جديدة
يستخدم هذا المثال setAttribute() طريقة لإضافة سمة جديدة.

إضافة بيانات إلى عقدة النص
يستخدم هذا المثال insertData() لادخال البيانات إلى عقدة النص الحالي.

×

رأس


إضافة عقدة - appendChild()

و appendChild() يضيف طريقة عقدة تابعة للعقدة الحالية.

يتم إضافة عقدة جديدة (appended) بعد أي العقد التابعة الموجودة.

Note: استخدام insertBefore() إذا كان الموقف من عقدة هو المهم.

هذا جزء التعليمات البرمجية يخلق عنصر (<edition>) ، ويضيف أنه بعد الطفل الأخير من الأول <book> العنصر:

مثال

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
انها محاولة لنفسك »

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

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. إنشاء عقدة جديدة <edition>
  3. إلحاق عقدة لأول <book> العنصر

هذا جزء التعليمات البرمجية يفعل نفس الشيء على النحو الوارد أعلاه، ولكن يتم إضافة عنصر جديد بقيمة:

مثال

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
انها محاولة لنفسك »

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

  1. لنفترض أن " books.xml يتم تحميل" في xmlDoc
  2. إنشاء عقدة جديدة <edition>
  3. إنشاء عقدة النص الجديد "first"
  4. إلحاق عقدة النص إلى <edition> العقدة
  5. إلحاق <addition> العقدة إلى <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> عقدة عنصر

إذا كانت المعلمة الثانية من insertBefore() فارغة، سيتم إضافة عقدة جديدة بعد آخر عقدة تابعة القائمة.

x.insertBefore(newNode,null) و x.appendChild(newNode) على حد سواء إلحاق عقدة تابعة جديدة إلى x.


إضافة سمة جديدة

و setAttribute() طريقة تعيين قيمة سمة.

مثال

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
انها محاولة لنفسك »

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

  1. لنفترض أن " books.xml " تم تحميلها في xmlDoc
  2. تعيين قيمة السمة "edition" إلى "first" لأول <book> العنصر

ليس هناك طريقة تسمى إضافة Attribute()
و setAttribute() سيخلق سمة جديدة حالة عدم وجود السمة.

Note: إذا كانت السمة موجودة بالفعل، و setAttribute() وطريقة الكتابة فوق القيمة الموجودة.


إضافة نص إلى عقدة النص - insertData()

و insertData() طريقة إدراج البيانات إلى عقدة النص الحالي.

و insertData() طريقة معلمتين:

  • تعويض - من أين نبدأ الأحرف إدخال (starts at zero)
  • سلسلة - سلسلة لإدراج

وجزء التعليمات البرمجية التالية إضافة "Easy" إلى عقدة النص من أول <title> عنصر من عناصر XML تحميل:

مثال

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