XML DOM استبدال العقد
يحل أسلوب replaceChild () محل عقدة محددة.
تستبدل الخاصية nodeValue النص في عقدة نصية.
جربها بنفسك - أمثلة
تستخدم الأمثلة أدناه ملف XML books.xml .
يستخدم هذا المثال replaceChild () لاستبدال أول عقدة <book>.
يستخدم هذا المثال الخاصية nodeValue لاستبدال البيانات في عقدة نصية.
استبدل عقدة العنصر
يتم استخدام طريقة replaceChild () لاستبدال عقدة.
يحل جزء التعليمات البرمجية التالي محل عنصر <book> الأول:
مثال
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
شرح المثال:
- تحميل " books.xml " في xmlDoc
- قم بإنشاء عقدة عنصر جديدة <book>
- قم بإنشاء عقدة عنصر جديدة <title>
- إنشاء عقدة نصية جديدة بالنص "دفتر ملاحظات"
- إلحاق عقدة النص الجديدة بعقدة العنصر الجديدة <title>
- إلحاق عقدة العنصر الجديدة <title> بعقدة العنصر الجديدة <book>
- استبدل عقدة عنصر <book> الأولى بعقدة عنصر <book> الجديدة
استبدل البيانات في عقدة نصية
يتم استخدام طريقة replaceData () لاستبدال البيانات في عقدة نصية.
طريقة replaceData () لها ثلاث معاملات:
- الإزاحة - من أين تبدأ استبدال الأحرف. تبدأ قيمة الإزاحة من الصفر
- الطول - كم عدد الأحرف المطلوب استبدالها
- السلسلة - السلسلة المطلوب إدراجها
مثال
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
شرح المثال:
- تحميل " books.xml " في xmlDoc
- احصل على العقدة النصية لأول عقدة عنصر <title>
- استخدم طريقة replaceData لاستبدال الأحرف الثمانية الأولى من عقدة النص بـ "سهل"
استخدم خاصية nodeValue بدلاً من ذلك
من الأسهل استبدال البيانات في عقدة نصية باستخدام الخاصية nodeValue.
سيحل جزء التعليمات البرمجية التالي محل قيمة العقدة النصية في عنصر <title> الأول بـ "Easy Italian":
مثال
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
شرح المثال:
- تحميل " books.xml " في xmlDoc
- احصل على العقدة النصية لأول عقدة عنصر <title>
- استخدم الخاصية nodeValue لتغيير نص عقدة النص
يمكنك قراءة المزيد حول تغيير قيم العقدة في فصل تغيير العقدة .