XML DOM 節(jié)點信息


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


tryitimg.gif試一下 - 實例


下面的實例使用 XML 文件books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。

獲取元素節(jié)點的節(jié)點名稱
本例使用 nodeName 屬性來獲取 "books.xml" 中根元素的節(jié)點名稱。

從文本節(jié)點獲取文本
本例使用 nodeValue 屬性來獲取 "books.xml" 中第一個 <title> 元素的文本。

更改文本節(jié)點中的文本
本例使用 nodeValue 屬性來更改 "books.xml" 中第一個 <title> 元素的文本。

獲取元素節(jié)點的節(jié)點名稱和類型
本例使用 nodeName 和 nodeType 屬性來獲取 "books.xml" 中根元素的節(jié)點名稱和類型。


節(jié)點的屬性

在 XML DOM 中,每個節(jié)點都是一個對象。

對象擁有方法和屬性,并可通過 JavaScript 進行訪問和操作。

三個重要的節(jié)點屬性是:

  • nodeName

  • nodeValue

  • nodeType


nodeName 屬性

nodeName 屬性規(guī)定節(jié)點的名稱。

  • nodeName 是只讀的

  • 元素節(jié)點的 nodeName 與標(biāo)簽名相同

  • 屬性節(jié)點的 nodeName 是屬性的名稱

  • 文本節(jié)點的 nodeName 永遠是 #text

  • 文檔節(jié)點的 nodeName 永遠是 #document


nodeValue 屬性

nodeValue 屬性規(guī)定節(jié)點的值。

  • 元素節(jié)點的 nodeValue 是 undefined

  • 文本節(jié)點的 nodeValue 是文本本身

  • 屬性節(jié)點的 nodeValue 是屬性的值


實例

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"></script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

document.write(xmlDoc.documentElement.nodeName);
</script>
</body>
</html>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例


獲取元素的值

下面的代碼檢索第一個 <title> 元素的文本節(jié)點的值:

實例

<!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>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結(jié)果:txt = "Everyday Italian"

實例解釋:

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

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

  3. 把 txt 變量設(shè)置為文本節(jié)點的值


更改元素的值

下面的代碼更改第一個 <title> 元素的文本節(jié)點的值:

實例

<!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>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

實例解釋:

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

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

  3. 更改文本節(jié)點的值為 "Easy Cooking"


nodeType 屬性

nodeType 屬性規(guī)定節(jié)點的類型。

nodeType 是只讀的。

最重要的節(jié)點類型是:

節(jié)點類型NodeType
元素1
屬性2
文本3
注釋8
文檔9

實例

<!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>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例