XML DOM متقدم XML DOM - متقدم في وقت سابق من هذا البرنامج التعليمي، قدمنا XML DOM واستخدمنا أسلوب getElementsByTagName() الخاص بـ XML DOM لاسترداد البيانات من مستند XML. سنقوم في هذا الفصل بدمج بعض أساليب XML DOM المهمة الأخرى. يمكنك معرفة المزيد حول XML DOM في برنامجنا التعليمي XML DOM. احصل على قيمة العنصر في ملف XML المستخدم في المثال التالي: books.xml. يسترد المثال التالي القيمة النصية لعنصر <title> الأول: example
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;جربه »
يسترد المثال التالي القيمة النصية للسمة "lang" لعنصر <title> الأول:
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");جربه »
يغير المثال التالي القيمة النصية لعنصر <title> الأول:
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="Easy Cooking";جربه »
يمكن استخدام طريقة setAttribute() الخاصة بـ XML DOM لتغيير قيمة سمة موجودة، أو لإنشاء سمة جديدة.
ينشئ المثال التالي سمة جديدة (الإصدار = "الأول") ويضيفها إلى كل عنصر <book>:
x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++){x[i].setAttribute("edition"، "first");}جربه »
تقوم طريقة createElement() الخاصة بـ XML DOM بإنشاء عقدة عنصر جديدة.
تقوم طريقة createTextNode() الخاصة بـ XML DOM بإنشاء عقدة نصية جديدة.
تضيف طريقة appendChild() الخاصة بـ XML DOM عقدة فرعية إلى عقدة (بعد العقدة الفرعية الأخيرة).
لإنشاء عنصر جديد بمحتوى نصي، قم بإنشاء عقدة عنصر جديدة وعقدة نصية جديدة في نفس الوقت، ثم قم بإلحاقهما بالعقدة الموجودة.
ينشئ المثال التالي عنصرًا جديدًا (<edition>) بالنص التالي: أولاً، ثم يضيفه إلى عنصر <book> الأول:
newel=xmlDoc.createElement("edition");newtext=xmlDoc.createTextNode("First");newel.appendChild(newtext);x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);جربه »
شرح المثال
قم بإنشاء عنصر <edition>
إنشاء عقدة نصية بقيمة "أولاً"
قم بإلحاق العقدة النصية هذه بعنصر <edition> جديد
قم بإلحاق عنصر <edition> بعنصر <book> الأول
يحذف المثال التالي العقدة الأولى من عنصر <book> الأول:
x=xmlDoc.getElementsByTagName("book")[0];x.removeChild(x.childNodes[0]);جربه »
ملحوظة: قد تختلف نتائج المثال أعلاه حسب المتصفح المستخدم. يعامل Firefox أحرف السطر الجديد كعقد نصية فارغة، لكن Internet Explorer لا يفعل ذلك. يمكنك قراءة المزيد حول هذه المشكلة وكيفية تجنبها في البرنامج التعليمي XML DOM الخاص بنا.