XML DOM 创建节点
创建新的元素节点
createElement() 方法创建新的元素节点:
例子 1
newElement = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc中 - 创建一个新的元素节点 <edition>
- 将这个元素节点追加到第一个 <book> 元素
例子 2
循环遍历并向所有 <book> 元素添加一个元素:
for (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 = "第一版";
xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
例子解释:
- 假设 books.xml 被加载到
xmlDoc中 - 创建新的属性节点
"edition" - 将这个属性节点的值设置为
"first" - 将这个新属性节点添加到第一个 <title> 元素
例子 2
循环遍历所有 <title> 元素并添加新的属性节点:
for (i = 0; i < xLen; i++) {
newAtt = xmlDoc.createAttribute("edition");
newAtt.value = "第一版";
x[i].setAttributeNode(newAtt);
}
如果该属性已存在,则将其替换为新属性。
使用 setAttribute() 创建属性
由于 setAttribute() 方法会在属性不存在时创建新属性,因此它也可用于创建新属性。
例子 1
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
例子解释:
- 假设 books.xml 已被加载到
xmlDoc中 - 将第一个 <book> 元素的
"edition"属性的值设置为"first"
例子 2
循环遍历所有 <title> 元素并添加新属性:
for(i = 0; i < x.length; i++) {
x[i].setAttribute("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> 元素:
for (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 = "新年特惠 & 限时折扣";
for (i = 0; i < xLen; i++) {
newCDATA = xmlDoc.createCDATASection(newtext);
x[i].appendChild(newCDATA);
}
创建注释节点
createComment() 方法创建新的注释节点。
例子 1
newComment = xmlDoc.createComment("2024 年 2 月修订");
xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
例子解释:
- 假设 books.xml 已被加载到
xmlDoc中 - 创建新的注释节点
- 将这个新的注释节点追加到第一个 <book> 元素
例子 2
循环遍历并向所有 <book> 元素添加注释节点:
x = xmlDoc.getElementsByTagName("book");
xLen = x.length
for (i = 0; i < xLen; i++) {
newComment = xmlDoc.createComment("2024 年 2 月修订");
x[i].appendChild(newComment);
}