runoops.com

XML DOM 遍历节点树

遍历(Traverse)意味着在节点树中进行循环或移动。


遍历节点树

通常您想要循环 XML 文档,比如:当您需要提取每个元素的值时。

这叫做"遍历节点树"。

下面的实例遍历 <book> 的所有子节点,并显示他们的名称和值:

<!DOCTYPE html>
<html>
<body>
 
<p id="demo"></p>
 
<script>
var x, i ,xmlDoc;
var txt = "";
var text = "<book>" + 
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book>";
 
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
 
// documentElement 表示根节点
x = xmlDoc.documentElement.childNodes;
for (i = 0; i < x.length ;i++) {
    txt += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
</script>
 
</body>
</html>

输出:

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

实例解释:

  1. 将 XML 字符串载入 xmlDoc 中
  2. 获取根元素的子节点
  3. 输出每个子节点的节点名称以及文本节点的节点值