XML DOM 創(chuàng)建節(jié)點(diǎn)
XML DOM 具有的所有節(jié)點(diǎn)類型的創(chuàng)建方法,通過為該方法提供名稱(需要時)以及那些具有內(nèi)容的節(jié)點(diǎn)(如文本節(jié)點(diǎn))的內(nèi)容或其他參數(shù),這樣便可創(chuàng)建節(jié)點(diǎn)。
嘗試一下 - 實例
下面的實例使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
創(chuàng)建元素節(jié)點(diǎn)
本例使用 createElement() 來創(chuàng)建一個新的元素節(jié)點(diǎn),并使用 appendChild() 把它添加到一個節(jié)點(diǎn)中。
使用 createAttribute 創(chuàng)建屬性節(jié)點(diǎn)
本例使用 createAttribute() 來創(chuàng)建一個新的屬性節(jié)點(diǎn),并使用 setAttributeNode() 把它插入一個元素中。
使用 setAttribute 創(chuàng)建屬性節(jié)點(diǎn)
本例使用 setAttribute() 為一個元素創(chuàng)建一個新的屬性。
創(chuàng)建文本節(jié)點(diǎn)
本例使用 createTextNode() 來創(chuàng)建一個新的文本節(jié)點(diǎn),并使用 appendChild() 把它添加到一個元素中。
創(chuàng)建 CDATA section 節(jié)點(diǎn)
本例使用 createCDATAsection() 來創(chuàng)建一個 CDATA section 節(jié)點(diǎn),并使用 appendChild() 把它添加到一個元素中。
創(chuàng)建注釋節(jié)點(diǎn)
本例使用 createComment() 來創(chuàng)建一個注釋節(jié)點(diǎn),并使用 appendChild() 把它添加到一個元素中。
創(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);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新的元素節(jié)點(diǎn) <edition>
- 向第一個 <book> 元素追加這個元素節(jié)點(diǎn)
遍歷并向所有 <book> 元素添加一個元素: 嘗試一下
創(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);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新的屬性節(jié)點(diǎn) "edition"
- 設(shè)置屬性節(jié)點(diǎn)的值為 "first"
- 向第一個 <title> 元素添加這個新的屬性節(jié)點(diǎn)
遍歷所有的 <title> 元素,并添加一個新的屬性節(jié)點(diǎn): 嘗試一下
注意:如果該屬性已存在,則被新屬性替代。
使用 setAttribute() 創(chuàng)建屬性
由于 setAttribute() 方法可以在屬性不存在的情況下創(chuàng)建新的屬性,我們可以使用這個方法來創(chuàng)建一個新的屬性。
實例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 為第一個 <book> 元素設(shè)置(創(chuàng)建)值為 "first" 的 "edition" 屬性
遍歷所有的 <title> 元素并添加一個新屬性: 嘗試一下
創(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);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新元素節(jié)點(diǎn) <edition>
- 創(chuàng)建一個新的文本節(jié)點(diǎn),其文本是 "first"
- 向這個元素節(jié)點(diǎn)追加新的文本節(jié)點(diǎn)
- 向第一個 <book> 元素追加新的元素節(jié)點(diǎn)
向所有的 <book> 元素添加一個帶有文本節(jié)點(diǎn)的元素節(jié)點(diǎn): 嘗試一下
創(chuàng)建 CDATA Section 節(jié)點(diǎn)
createCDATASection() 方法創(chuàng)建一個新的 CDATA section 節(jié)點(diǎn)。
實例
xmlDoc=loadXMLDoc("books.xml");
newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newCDATA);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新的 CDATA section 節(jié)點(diǎn)
- 向第一個 <book> 元素追加這個新的 CDATA section 節(jié)點(diǎn)
遍歷并向所有 <book> 元素添加一個 CDATA section: 嘗試一下
創(chuàng)建注釋節(jié)點(diǎn)
createComment() 方法創(chuàng)建一個新的注釋節(jié)點(diǎn)。
實例
xmlDoc=loadXMLDoc("books.xml");
newComment=xmlDoc.createComment("Revised March 2008");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newComment);
嘗試一下 ? 實例解釋:
- 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 創(chuàng)建一個新的注釋節(jié)點(diǎn)
- 把這個新的注釋節(jié)點(diǎn)追加到第一個 <book> 元素
循環(huán)并向所有 <book> 元素添加一個注釋節(jié)點(diǎn): 嘗試一下
當(dāng)你創(chuàng)建新的節(jié)點(diǎn)后,有幾個方法可用于將這些節(jié)點(diǎn)插入到樹中,我們將在下一節(jié)內(nèi)容中描述如何插入節(jié)點(diǎn)。
更多建議: