تغيير قيمة نقطة XML DOM

تستخدم خاصية nodeValue لتغيير قيمة العقدة.

يستخدم طريقة setAttribute لتغيير قيمة الخاصية.

مثال

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

وظيفة loadXMLDoc()، موجودة في JavaScript الخارجي، تستخدم لتحميل ملف XML.

تغيير نص عقدة العنصر
في هذا المثال، يتم استخدام خاصية nodeValue لتغيير نص عقدة النص للعنصر <title> الأول في ملف "books.xml".
باستخدام setAttribute لتغيير قيمة الخاصية
في هذا المثال، يتم استخدام طريقة setAttribute() لتغيير قيمة الخاصية "category" للعنصر <book> الأول.
باستخدام nodeValue لتغيير قيمة الخاصية
في هذا المثال، يتم استخدام خاصية nodeValue لتغيير قيمة الخاصية "category" للعنصر <book> الأول.

تغيير قيمة العنصر

في DOM، كل عنصر هي عقدة. لا تحتوي عقدة العنصر على قيمة نصية.

يتم تخزين نص العنصر في العقدة الفرعية. وتسمى هذه العقدة عقدة النص.

طريقة تغيير نص العنصر هي تغيير قيمة هذا العقدة الفرعية (عقدة النص).

تغيير قيمة عقدة النص

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

قطعة الكود التالية تغير قيمة عقدة النص للعنصر <title> الأول:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

مثال التوضيح:

  • من خلال استخدام loadXMLDoc() غيير "books.xml" تحميل xmlDoc
  • الحصول على عقدة النص للعنصر <title> الأول
  • تغيير قيمة عقدة النص لهذا النص إلى "Hello World"

TIY

استكشاف وتغيير جميع عقد النص للعناصر <title>:TIY

تغيير قيمة الخاصية

في DOM، الخاصية هي أيضًا عقدة. على عكس عقدة العنصر، تحتوي عقدة الخاصية على قيمة نصية.

طريقة تغيير قيمة الخاصية هي تغيير قيمة النص.

يمكن إكمال هذه المهمة من خلال استخدام طريقة setAttribute() أو خاصية nodeValue للعقدة المصدرة.

باستخدام setAttribute() لتغيير الخصائص

يضبط method setAttribute() قيمة الخاصية الموجودة أو يخلق خاصية جديدة.

يغير الكود التالي خاصية category لعنصر <book>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","child");

مثال التوضيح:

  • من خلال استخدام loadXMLDoc() غيير "books.xml" تحميل xmlDoc
  • الحصول على العنصر الاول من <book>
  • غيير قيمة خاصية "category" إلى "child"

TIY

استعرض جميع <title> وأضف خاصية جديدة:TIY

ملاحظة:إذا لم يكن العقد موجودًا، يتم إنشاء عقد جديد يحتوي على الاسم والمقدار المحدد.

تغيير الخاصية من خلال استخدام nodeValue

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

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="child";

مثال التوضيح:

  • من خلال استخدام loadXMLDoc() غيير "books.xml" تحميل xmlDoc
  • الحصول على خاصية "category" للعنصر الاول من <book>
  • غيير قيمة العقد الخاص بـ "child"

TIY