XML DOM 创建节点

实例

下面的例子使用 XML 文件 books.xml

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

创建元素节点
本例使用 createElement() 来创建一个新的元素节点,并使用 appendChild() 把它添加到一个节点。
通过使用 createAttribute 来创建属性节点
本例使用 createAttribute() 来创建新的属性节点,并使用 setAttributeNode() 把该节点插入一个元素中。
通过使用 setAttribute 来创建属性节点
本例使用 setAttribute() 为一个元素创建一个新的属性。
创建文本节点
本例使用 createTextNode() 来创建新的文本节点,并使用 appendChild() 把该文本节点添加到一个元素中。
创建一个 CDATA section 节点
本例用 createCDATAsection() 来创建 CDATA section 节点,并使用 appendChild() 把它添加到元素中。
创建注释节点
本例使用 createComment() 来创建一个 comment 节点,并使用 appendChild() 把它添加到一个元素中。

创建新的元素节点

createElement() 方法创建新的元素节点:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的元素节点 <edition>
  3. 向第一个 <book> 元素追加这个元素节点

TIY

遍历并向所有 <book> 元素添加一个元素:TIY

创建新的属性节点

createAttribute() 用于创建新的属性节点:

xmlDoc=loadXMLDoc("books.xml");
newatt=xmlDoc.createAttribute("edition");
newatt.nodeValue="first";
x=xmlDoc.getElementsByTagName("title");
x[0].setAttributeNode(newatt); 

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的属性节点 "edition"
  3. 向第一个 <title> 元素添加这个新的属性节点

TIY

遍历所有 <title> 元素,并添加一个新的属性节点:TIY

注释:如果该属性已存在,则被新属性替代。

通过使用 setAttribute() 来创建属性

由于 setAttribute() 可以在属性不存在的情况下创建新的属性,我们可以使用这个方法来创建新属性。

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

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 为第一个 <book> 元素设置(创建)值为 "first" 的属性

TIY

遍历所有 <title> 元素并添加一个新属性:TIY

创建文本节点

createTextNode() 方法创建新的文本节点:

xmlDoc=loadXMLDoc("books.xml");
newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("first");
newel.appendChild(newtext);
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新元素节点 <edition>
  3. 创建一个新的文本节点,其文本是 "first"
  4. 向这个元素节点追加新的文本节点
  5. 向第一个 <book> 元素追加新的元素节点

TIY

向所有 <book> 元素添加一个带有文本节点的元素节点:TIY

创建一个 CDATA Section 节点

createCDATASection() 方法创建一个新的 CDATA section 节点。

xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的 CDATA section 节点
  3. 向第一个 <book> 元素追加这个新的 CDATA section 节点

TIY

遍历并向所有 <book> 元素添加一个 CDATA section:TIY

创建注释节点

createComment() 方法创建一个新的注释节点。

xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);

例子解释:

  1. 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的注释节点
  3. 把这个新的注释节点追加到第一个 <book> 元素

TIY

循环并向所有 <book> 元素添加一个 comment 节点:TIY