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);

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
  2. 創建一個新的元素節點 <edition>
  3. 向第一個 <book> 元素追加這個元素節點

遍曆並向所有 <book> 元素添加一個元素:


創建新的屬性節點

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. 設置屬性節點的值為 "first"
  4. 向第一個 <title> 元素添加這個新的屬性節點

遍曆所有的 <title> 元素,並添加一個新的屬性節點:

注意:如果該屬性已存在,則被新屬性替代。


使用 setAttribute() 創建屬性

由於 setAttribute() 方法可以在屬性不存在的情況下創建新的屬性,我們可以使用這個方法來創建一個新的屬性。

實例

xmlDoc=loadXMLDoc("books.xml");

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

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
  2. 為第一個 <book> 元素設置(創建)值為 "first" 的 "edition" 屬性

遍曆所有的 <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);

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
  2. 創建一個新元素節點 <edition>
  3. 創建一個新的文本節點,其文本是 "first"
  4. 向這個元素節點追加新的文本節點
  5. 向第一個 <book> 元素追加新的元素節點

向所有的 <book> 元素添加一個帶有文本節點的元素節點:


創建 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 節點

遍曆並向所有 <book> 元素添加一個 CDATA section:


創建注釋節點

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> 元素

迴圈並向所有 <book> 元素添加一個注釋節點: