XML DOM 創(chuàng)建節(jié)點(diǎn)
實(shí)例
下面的例子使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
- 創(chuàng)建元素節(jié)點(diǎn)
- 本例使用 createElement() 來(lái)創(chuàng)建一個(gè)新的元素節(jié)點(diǎn),并使用 appendChild() 把它添加到一個(gè)節(jié)點(diǎn)。
- 通過(guò)使用 createAttribute 來(lái)創(chuàng)建屬性節(jié)點(diǎn)
- 本例使用 createAttribute() 來(lái)創(chuàng)建新的屬性節(jié)點(diǎn),并使用 setAttributeNode() 把該節(jié)點(diǎn)插入一個(gè)元素中。
- 通過(guò)使用 setAttribute 來(lái)創(chuàng)建屬性節(jié)點(diǎn)
- 本例使用 setAttribute() 為一個(gè)元素創(chuàng)建一個(gè)新的屬性。
- 創(chuàng)建文本節(jié)點(diǎn)
- 本例使用 createTextNode() 來(lái)創(chuàng)建新的文本節(jié)點(diǎn),并使用 appendChild() 把該文本節(jié)點(diǎn)添加到一個(gè)元素中。
- 創(chuàng)建一個(gè) CDATA section 節(jié)點(diǎn)
- 本例用 createCDATAsection() 來(lái)創(chuàng)建 CDATA section 節(jié)點(diǎn),并使用 appendChild() 把它添加到元素中。
- 創(chuàng)建注釋節(jié)點(diǎn)
- 本例使用 createComment() 來(lái)創(chuàng)建一個(gè) comment 節(jié)點(diǎn),并使用 appendChild() 把它添加到一個(gè)元素中。
創(chuàng)建新的元素節(jié)點(diǎn)
createElement() 方法創(chuàng)建新的元素節(jié)點(diǎn):
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個(gè)新的元素節(jié)點(diǎn) <edition>
- 向第一個(gè) <book> 元素追加這個(gè)元素節(jié)點(diǎn)
遍歷并向所有 <book> 元素添加一個(gè)元素:TIY
創(chuàng)建新的屬性節(jié)點(diǎn)
createAttribute() 用于創(chuàng)建新的屬性節(jié)點(diǎn):
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個(gè)新的屬性節(jié)點(diǎn) "edition"
- 向第一個(gè) <title> 元素添加這個(gè)新的屬性節(jié)點(diǎn)
遍歷所有 <title> 元素,并添加一個(gè)新的屬性節(jié)點(diǎn):TIY
注釋:如果該屬性已存在,則被新屬性替代。
通過(guò)使用 setAttribute() 來(lái)創(chuàng)建屬性
由于 setAttribute() 可以在屬性不存在的情況下創(chuàng)建新的屬性,我們可以使用這個(gè)方法來(lái)創(chuàng)建新屬性。
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 為第一個(gè) <book> 元素設(shè)置(創(chuàng)建)值為 "first" 的屬性
遍歷所有 <title> 元素并添加一個(gè)新屬性:TIY
創(chuàng)建文本節(jié)點(diǎn)
createTextNode() 方法創(chuàng)建新的文本節(jié)點(diǎn):
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個(gè)新元素節(jié)點(diǎn) <edition>
- 創(chuàng)建一個(gè)新的文本節(jié)點(diǎn),其文本是 "first"
- 向這個(gè)元素節(jié)點(diǎn)追加新的文本節(jié)點(diǎn)
- 向第一個(gè) <book> 元素追加新的元素節(jié)點(diǎn)
向所有 <book> 元素添加一個(gè)帶有文本節(jié)點(diǎn)的元素節(jié)點(diǎn):TIY
創(chuàng)建一個(gè) CDATA Section 節(jié)點(diǎn)
createCDATASection() 方法創(chuàng)建一個(gè)新的 CDATA section 節(jié)點(diǎn)。
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個(gè)新的 CDATA section 節(jié)點(diǎn)
- 向第一個(gè) <book> 元素追加這個(gè)新的 CDATA section 節(jié)點(diǎn)
遍歷并向所有 <book> 元素添加一個(gè) CDATA section:TIY
創(chuàng)建注釋節(jié)點(diǎn)
createComment() 方法創(chuàng)建一個(gè)新的注釋節(jié)點(diǎn)。
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Revised March 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
例子解釋:
- 通過(guò)使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個(gè)新的注釋節(jié)點(diǎn)
- 把這個(gè)新的注釋節(jié)點(diǎn)追加到第一個(gè) <book> 元素
循環(huán)并向所有 <book> 元素添加一個(gè) comment 節(jié)點(diǎn):TIY