XML DOM-Knoten erstellen
- Vorherige Seite DOM - Knoten ersetzen
- Nächste Seite DOM - Knoten hinzufügen
创建新的元素节点
createElement()
方法创建新的元素节点:
Beispiel 1
newElement = xmlDoc.createElement("edition"); xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
Beispiel Erklärung:
- Angenommen, books.xml wurde in
xmlDoc
in - 创建一个新的元素节点 <edition>
- 将这个元素节点追加到第一个 <book> 元素
Beispiel 2
循环遍历并向所有 <book> 元素添加一个元素:
for (i = 0; i < xLen; i++) { newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("Erste Ausgabe"); newEle.appendChild(newText); x[i].appendChild(newEle); {}
创建新的属性节点
createAttribute()
用于创建新的属性节点:
Beispiel 1
newAtt = xmlDoc.createAttribute("edition"); newAtt.nodeValue = "第一版"; xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
Beispiel Erklärung:
- 假设 books.xml 被加载到
xmlDoc
in - 创建新的属性节点
"edition"
- 将这个属性节点的值设置为
"first"
- 将这个新属性节点添加到第一个 <title> 元素
Beispiel 2
循环遍历所有 <title> 元素并添加新的属性节点:
for (i = 0; i < xLen; i++) { newAtt = xmlDoc.createAttribute("edition"); newAtt.value = "第一版"; x[i].setAttributeNode(newAtt); {}
如果该属性已存在,则将其替换为新属性。
使用 setAttribute() 创建属性
由于 setAttribute()
方法会在属性不存在时创建新属性,因此它也可用于创建新属性。
Beispiel 1
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Beispiel Erklärung:
- Angenommen, books.xml wurde in
xmlDoc
in - 将第一个 <book> 元素的
"edition"
属性的值设置为"first"
Beispiel 2
循环遍历所有 <title> 元素并添加新属性:
for(i = 0; i < x.length; i++) { x[i].setAttribute("edition", "第一版"); {}
创建文本节点
createTextNode()
方法创建新的文本节点:
Beispiel 1
newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("first"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Beispiel Erklärung:
- Angenommen, books.xml wurde in
xmlDoc
in - Erstelle einen neuen Elementnode <edition>
- Erstelle einen neuen Textnode, der den Text enthält
"first"
- Füge diesen neuen Textnode dem neuen Elementnode hinzu
- Füge den neuen Elementnode dem ersten <book>-Element hinzu
Beispiel 2
Füge den Elementnode mit dem Textnode zu allen <book>-Elementen hinzu:
for (i = 0; i < xLen; i++) { newEle = xmlDoc.createElement("edition"); newText = xmlDoc.createTextNode("Erste Ausgabe"); newEle.appendChild(newText); x[i].appendChild(newEle); {}
Erstelle einen CDATA Section-Node
createCDATASection()
Diese Methode erstellt einen neuen CDATA-Section-Node.
Beispiel 1
newCDATA = xmlDoc.createCDATASection("Neujahrsofferte & zeitlich begrenzte Rabatte"); xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
Beispiel Erklärung:
- Angenommen, books.xml wurde in
xmlDoc
in - Erstelle einen neuen CDATA-Section-Node
- Füge diesen neuen CDATA-Node dem ersten <book>-Element hinzu
Beispiel 2
Durchlaufe den Zyklus und füge einen CDATA-Bereich zu allen <book>-Elementen hinzu:
x = xmlDoc.getElementsByTagName("book"); xLen = x.length; newtext = "Neujahrsofferte & zeitlich begrenzte Rabatte"; for (i = 0; i < xLen; i++) { newCDATA = xmlDoc.createCDATASection(newtext); x[i].appendChild(newCDATA); {}
Erstelle einen Kommentarnode
createComment()
Diese Methode erstellt einen neuen Kommentarnode.
Beispiel 1
newComment = xmlDoc.createComment("Überarbeitung im Februar 2024"); xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
Beispiel Erklärung:
- Angenommen, books.xml wurde in
xmlDoc
in - Erstelle einen neuen Kommentarnode
- Füge diesen neuen Kommentarnode dem ersten <book>-Element hinzu
Beispiel 2
Durchlaufe den Zyklus und füge einen Kommentarnode zu allen <book>-Elementen hinzu:
x = xmlDoc.getElementsByTagName("book"); xLen = x.length for (i = 0; i < xLen; i++) { newComment = xmlDoc.createComment("Überarbeitung im Februar 2024"); x[i].appendChild(newComment); {}
- Vorherige Seite DOM - Knoten ersetzen
- Nächste Seite DOM - Knoten hinzufügen