إنشاء العقد في DOM XML
- الصفحة السابقة استبدال عقد في DOM
- الصفحة التالية إضافة عقد إلى DOM
创建新的元素节点
createElement()
方法创建新的元素节点:
مثال 1
newElement = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
توضيح المثال:
- بشرط أن يكون ملف books.xml قد تم تحميله إلى
xmlDoc
في - 创建一个新的元素节点 <edition>
- 将这个元素节点追加到第一个 <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);
توضيح المثال:
- 假设 books.xml 被加载到
xmlDoc
في - 创建新的属性节点
"edition"
- 将这个属性节点的值设置为
"first"
- 将这个新属性节点添加到第一个 <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");
توضيح المثال:
- بشرط أن يكون ملف books.xml قد تم تحميله إلى
xmlDoc
في - 将第一个 <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);
توضيح المثال:
- بشرط أن يكون ملف books.xml قد تم تحميله إلى
xmlDoc
في - إنشاء عناصر جديدة <edition>
- إنشاء نقطة نص جديدة تحتوي على نص
"first"
- إضافة هذا العنصر الجديد لنقطة النص إلى العنصر الجديد
- إضافة العنصر الجديد إلى العنصر <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);
توضيح المثال:
- بشرط أن يكون ملف books.xml قد تم تحميله إلى
xmlDoc
في - إنشاء نقطة CDATA section جديدة
- إضافة هذا العنصر الجديد لنقطة 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);
توضيح المثال:
- بشرط أن يكون ملف books.xml قد تم تحميله إلى
xmlDoc
في - إنشاء نقطة تعليق جديدة
- إضافة هذا العنصر الجديد لنقطة التعليق إلى العنصر <book> الأول
مثال 2
التحقق من جميع العناصر <book> وتضيف نقاط التعليق إلى جميع العناصر:
x = xmlDoc.getElementsByTagName("book"); xLen = x.length للدورة (i = 0; i < xLen; i++) { newComment = xmlDoc.createComment("تعديل في فبراير 2024"); x[i].appendChild(newComment); }
- الصفحة السابقة استبدال عقد في DOM
- الصفحة التالية إضافة عقد إلى DOM