XML DOM 遍歷節(jié)點(diǎn)樹


遍歷(Traverse)意味著在節(jié)點(diǎn)樹中進(jìn)行循環(huán)或移動(dòng)。


遍歷節(jié)點(diǎn)樹

通常您想要循環(huán) XML 文檔,比如:當(dāng)您需要提取每個(gè)元素的值時(shí)。

這叫做"遍歷節(jié)點(diǎn)樹"。

下面的實(shí)例遍歷 <book> 的所有子節(jié)點(diǎn),并顯示他們的名稱和值:

實(shí)例

<!DOCTYPE html>
<html>
<head>
<script src="loadxmlstring.js"></script>
</head>
<body>
<script>
text="<book>";
text=text+"<title>Everyday Italian</title>";
text=text+"<author>Giada De Laurentiis</author>";
text=text+"<year>2005</year>";
text=text+"</book>";

xmlDoc=loadXMLString(text);

// documentElement always represents the root node
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
  {
  document.write(x[i].nodeName);
  document.write(": ");
  document.write(x[i].childNodes[0].nodeValue);
  document.write("<br>");
  }
</script>
</body>
</html>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

輸出:

title: Everyday Italian
author: Giada De Laurentiis
year: 2005

實(shí)例解釋:

  1. loadXMLString() 把 XML 字符串載入 xmlDoc 中

  2. 獲取根元素的子節(jié)點(diǎn)

  3. 輸出每個(gè)子節(jié)點(diǎn)的節(jié)點(diǎn)名稱以及文本節(jié)點(diǎn)的節(jié)點(diǎn)值