استبدال نقطة XML DOM

يستخدم مكتبة replaceChild() لتبديل العنصر المحدد.

تستخدم خاصية nodeValue لتبديل النص في العنصر النصي.

مثال

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

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

تبديل العنصر العنصرية
في هذا المثال، يتم استخدامه لتبديل العنصر الأول من نوع <book> باستخدام replaceChild()
تبديل البيانات في العنصر النصي
في هذا المثال، يتم استخدامه لتبديل البيانات في العنصر النصي باستخدام خاصية nodeValue

تبديل العنصر العنصرية

يستخدم مكتبة replaceChild() لتبديل العنصر.

جزء من الكود التالي يستبدل العنصر الأول من نوع <book>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//إنشاء عنصر book و علامة title و علامة نصية
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Hello World");
//إضافة علامة نصية إلى العنصر title
newTitle.appendChild(newText);
//إضافة علامة title إلى العنصر book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
//استبدال العنصر الأول من نوع book بهذا العنصر الجديد
x.replaceChild(newNode, y);

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • إنشاء عنصر جديد <book>
  • إنشاء عنصر جديد <title>
  • إنشاء عنصر نصي جديد يحتوي على النص "Hello World"
  • إضافة هذا العنصر النصي الجديد إلى العنصر الجديد <title>
  • إضافة هذا العنصر الجديد <title> إلى العنصر الجديد <book>
  • استبدال العنصر <book> الأول بعنصر <book> جديد

TIY

تبديل البيانات في العنصر النصي

طريقة replaceData() تستخدم لتبديل البيانات في العنصر النصي.

replaceData() 方法有三个参数:

  • offset - 在何处开始替换字符。Offset 值以 0 开始。
  • length - 要替换多少字符
  • string - 要插入的字符串
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的文本节点
  • 使用 replaceDat 方法把文本节点的前 8 个字符替换为 "hello"

TIY

使用 nodeValue 属性

用 nodeValue 属性来替换文本节点中数据会更加容易。

下面的代码片段将用 "Easy Italian" 替换第一个 <title> 元素中的文本节点值:

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

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的文本节点
  • 使用 nodeValue 属性来更改这个文本节点的文本

TIY

您可以在 改变节点 这一节中阅读更多有关更改节点值的内容。