XML DOM 具有的所有节点类型的创建方法,通过为该方法提供名称(需要时)以及那些具有内容的节点(如文本节点)的内容或其他参数,这样便可创建节点。
下面的实例使用 XML 文件 books.xml。
函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。
本例使用 createElement() 来创建一个新的元素节点,并使用 appendChild() 把它添加到一个节点中。
本例使用 createAttribute() 来创建一个新的属性节点,并使用 setAttributeNode() 把它插入一个元素中。
本例使用 setAttribute() 为一个元素创建一个新的属性。
本例使用 createTextNode() 来创建一个新的文本节点,并使用 appendChild() 把它添加到一个元素中。
本例使用 createCDATAsection() 来创建一个 CDATA section 节点,并使用 appendChild() 把它添加到一个元素中。
本例使用 createComment() 来创建一个注释节点,并使用 appendChild() 把它添加到一个元素中。
createElement() 方法创建一个新的元素节点:
xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
实例解释:
遍历并向所有 <book> 元素添加一个元素:
createAttribute() 用于创建一个新的属性节点:
xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt);
实例解释:
遍历所有的 <title> 元素,并添加一个新的属性节点:
注意:如果该属性已存在,则被新属性替代。
由于 setAttribute() 方法可以在属性不存在的情况下创建新的属性,我们可以使用这个方法来创建一个新的属性。
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
实例解释:
遍历所有的 <title> 元素并添加一个新属性:
createTextNode() 方法创建一个新的文本节点:
xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
实例解释:
向所有的 <book> 元素添加一个带有文本节点的元素节点:
createCDATASection() 方法创建一个新的 CDATA section 节点。
xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);
实例解释:
遍历并向所有 <book> 元素添加一个 CDATA section:
createComment() 方法创建一个新的注释节点。
xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);
实例解释:
循环并向所有 <book> 元素添加一个注释节点:
当你创建新的节点后,有几个方法可用于将这些节点插入到树中,我们将在下一节内容中描述如何插入节点。