删除节点

removeChild()删除指定节点及其所有子节点

xmlDoc=loadXMLDoc("books.xml");
y=xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

对于文本节点,可以通过直接清除nodeValue的值来实现删除文本节点
removeAttributeNode(node) 用于删除属性节点

创建替换节点

replaceChild() 方法用于替换节点
createElement() 方法创建一个新的元素节点
createAttribute() 用于创建一个新的属性节点

xmlDoc=loadXMLDoc("books.xml");

newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";

x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

setAttribute() 方法可以在属性不存在的情况下创建新的属性

xmlDoc=loadXMLDoc("books.xml");

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

createTextNode() 方法创建一个新的文本节点
下面是一个替换节点的例子:


xmlDoc=loadXMLDoc("books.xml");
 
x=xmlDoc.documentElement;
 
// 创建新的 book 元素, title 元素及 node 节点
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
 
// 将 text 节点添加到 title 节点中
newTitle.appendChild(newText);
// 将 title 节点添加到  book 节点中
newNode.appendChild(newTitle);
 
y=xmlDoc.getElementsByTagName("book")[0]
// 使用新节点替换第一个 book 节点
x.replaceChild(newNode,y);

添加节点

appendChild() 方法向一个已有的节点添加一个子节点。新节点会添加(追加)到任何已有的子节点之后。
insertBefore()方法用于在指定的子节点之前插入节点

insertBefore(newNode,oldNode)

cloneNode() 方法创建指定节点的副本。cloneNode() 方法有一个参数(true 或 false)。该参数指示被克隆的节点是否包括原节点的所有属性和子节点。