XML DOM 節(jié)點(diǎn)信息


nodeName、nodeValue 和 nodeType 屬性包含有關(guān)節(jié)點(diǎn)的信息。


tryitimg.gif試一下 - 實(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í)例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取第一個(gè) <title> 元素節(jié)點(diǎn)的文本節(jié)點(diǎn)

  3. 把 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í)例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取第一個(gè) <title> 元素節(jié)點(diǎn)的文本節(jié)點(diǎn)

  3. 更改文本節(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í)例