XML DOM 節(jié)點(diǎn)信息
nodeName、nodeValue 和 nodeType 屬性包含有關(guān)節(jié)點(diǎn)的信息。
嘗試一下 - 實(shí)例
下面的實(shí)例使用 XML 文件books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
獲取元素節(jié)點(diǎn)的節(jié)點(diǎn)名稱
本例使用 nodeName 屬性來獲取 "books.xml" 中根元素的節(jié)點(diǎn)名稱。
從文本節(jié)點(diǎn)獲取文本
本例使用 nodeValue 屬性來獲取 "books.xml" 中第一個(gè) <title> 元素的文本。
更改文本節(jié)點(diǎn)中的文本
本例使用 nodeValue 屬性來更改 "books.xml" 中第一個(gè) <title> 元素的文本。
獲取元素節(jié)點(diǎn)的節(jié)點(diǎn)名稱和類型
本例使用 nodeName 和 nodeType 屬性來獲取 "books.xml" 中根元素的節(jié)點(diǎn)名稱和類型。
節(jié)點(diǎn)的屬性
在 XML DOM 中,每個(gè)節(jié)點(diǎn)都是一個(gè)對(duì)象。
對(duì)象擁有方法和屬性,并可通過 JavaScript 進(jìn)行訪問和操作。
三個(gè)重要的節(jié)點(diǎn)屬性是:
nodeName
nodeValue
nodeType
nodeName 屬性
nodeName 屬性規(guī)定節(jié)點(diǎn)的名稱。
nodeName 是只讀的
元素節(jié)點(diǎn)的 nodeName 與標(biāo)簽名相同
屬性節(jié)點(diǎn)的 nodeName 是屬性的名稱
文本節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #text
文檔節(jié)點(diǎn)的 nodeName 永遠(yuǎn)是 #document
nodeValue 屬性
nodeValue 屬性規(guī)定節(jié)點(diǎn)的值。
元素節(jié)點(diǎn)的 nodeValue 是 undefined
文本節(jié)點(diǎn)的 nodeValue 是文本本身
屬性節(jié)點(diǎn)的 nodeValue 是屬性的值
實(shí)例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.documentElement.nodeName); </script> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
獲取元素的值
下面的代碼檢索第一個(gè) <title> 元素的文本節(jié)點(diǎn)的值:
實(shí)例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; document.write(txt); </script> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
結(jié)果:txt = "Everyday Italian"
實(shí)例解釋:
使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
獲取第一個(gè) <title> 元素節(jié)點(diǎn)的文本節(jié)點(diǎn)
把 txt 變量設(shè)置為文本節(jié)點(diǎn)的值
更改元素的值
下面的代碼更改第一個(gè) <title> 元素的文本節(jié)點(diǎn)的值:
實(shí)例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Cooking"; x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; txt=x.nodeValue; document.write(txt); </script> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
實(shí)例解釋:
使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
獲取第一個(gè) <title> 元素節(jié)點(diǎn)的文本節(jié)點(diǎn)
更改文本節(jié)點(diǎn)的值為 "Easy Cooking"
nodeType 屬性
nodeType 屬性規(guī)定節(jié)點(diǎn)的類型。
nodeType 是只讀的。
最重要的節(jié)點(diǎn)類型是:
節(jié)點(diǎn)類型 | NodeType |
---|---|
元素 | 1 |
屬性 | 2 |
文本 | 3 |
注釋 | 8 |
文檔 | 9 |
實(shí)例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"></script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.documentElement.nodeName); document.write("<br>"); document.write(xmlDoc.documentElement.nodeType); </script> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例