إنشاء العقد في DOM XML

创建新的元素节点

createElement() 方法创建新的元素节点:

مثال 1

newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);

تجربة ذلك بنفسك

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

  1. بشرط أن يكون ملف books.xml قد تم تحميله إلى xmlDoc في
  2. 创建一个新的元素节点 <edition>
  3. 将这个元素节点追加到第一个 <book> 元素

مثال 2

循环遍历并向所有 <book> 元素添加一个元素:

للدورة (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("النسخة الأولى");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
}

تجربة ذلك بنفسك

创建新的属性节点

createAttribute() 用于创建新的属性节点:

مثال 1

newAtt = xmlDoc.createAttribute("edition");
newAtt.nodeValue = "first edition";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);

تجربة ذلك بنفسك

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

  1. 假设 books.xml 被加载到 xmlDoc في
  2. 创建新的属性节点 "edition"
  3. 将这个属性节点的值设置为 "first"
  4. 将这个新属性节点添加到第一个 <title> 元素

مثال 2

循环遍历所有 <title> 元素并添加新的属性节点:

للدورة (i = 0; i < xLen; i++) { 
    newAtt = xmlDoc.createAttribute("edition");
    newAtt.value = "first edition";
    x[i].setAttributeNode(newAtt);
}

تجربة ذلك بنفسك

如果该属性已存在,则将其替换为新属性。

使用 setAttribute() 创建属性

由于 setAttribute() 方法会在属性不存在时创建新属性,因此它也可用于创建新属性。

مثال 1

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first edition");

تجربة ذلك بنفسك

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

  1. بشرط أن يكون ملف books.xml قد تم تحميله إلى xmlDoc في
  2. 将第一个 <book> 元素的 "edition" 属性的值设置为 "first"

مثال 2

循环遍历所有 <title> 元素并添加新属性:

for(i = 0; i < x.length; i++) {
    x[i].setAttribute("edition", "first edition");
}

تجربة ذلك بنفسك

创建文本节点

createTextNode() 方法创建新的文本节点:

مثال 1

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. إضافة هذا العنصر الجديد لنقطة النص إلى العنصر الجديد
  5. إضافة العنصر الجديد إلى العنصر <book> الأول

مثال 2

إضافة العنصر الجديد الذي يحتوي على جزء النص إلى جميع العناصر <book>:

للدورة (i = 0; i < xLen; i++) { 
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("النسخة الأولى");
    newEle.appendChild(newText);
    x[i].appendChild(newEle);
}

تجربة ذلك بنفسك

إنشاء نقطة CDATA Section

createCDATASection() يخلق هذا الطريقة نقطة CDATA section جديدة.

مثال 1

newCDATA = xmlDoc.createCDATASection("خصومات موسمية & عروض محدودة");
xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);

تجربة ذلك بنفسك

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

  1. بشرط أن يكون ملف books.xml قد تم تحميله إلى xmlDoc في
  2. إنشاء نقطة CDATA section جديدة
  3. إضافة هذا العنصر الجديد لنقطة CDATA إلى العنصر <book> الأول

مثال 2

التحقق من جميع العناصر <book> وتضيف جزء CDATA إلى جميع العناصر:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length;
newtext = "خصومات موسمية & عروض محدودة";
للدورة (i = 0; i < xLen; i++) { 
    newCDATA = xmlDoc.createCDATASection(newtext);
    x[i].appendChild(newCDATA);
}

تجربة ذلك بنفسك

إنشاء نقطة تعليق

createComment() يخلق هذا الطريقة نقطة التعليق جديدة.

مثال 1

newComment = xmlDoc.createComment("تعديل في فبراير 2024");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);

تجربة ذلك بنفسك

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

  1. بشرط أن يكون ملف books.xml قد تم تحميله إلى xmlDoc في
  2. إنشاء نقطة تعليق جديدة
  3. إضافة هذا العنصر الجديد لنقطة التعليق إلى العنصر <book> الأول

مثال 2

التحقق من جميع العناصر <book> وتضيف نقاط التعليق إلى جميع العناصر:

x = xmlDoc.getElementsByTagName("book");
xLen = x.length
للدورة (i = 0; i < xLen; i++) { 
    newComment = xmlDoc.createComment("تعديل في فبراير 2024");
    x[i].appendChild(newComment);
}

تجربة ذلك بنفسك