XML DOM – 遍历节点树
最后更新于:2022-03-26 22:32:07
XML DOM 遍历节点树
遍历(Traverse)意味着在节点树中进行循环或移动。
遍历节点树
通常您想要循环 XML 文档,比如:当您需要提取每个元素的值时。
这叫做”遍历节点树”。
下面的实例遍历 <book> 的所有子节点,并显示他们的名称和值:
实例
<!DOCTYPE html>
<html>
<body> <p id="demo"></p> <script>
<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;
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>
</html>
输出:
title: Everyday Italian
author: Giada De Laurentiis
year: 2005
author: Giada De Laurentiis
year: 2005
实例解释:
- 将 XML 字符串载入 xmlDoc 中
- 获取根元素的子节点
- 输出每个子节点的节点名称以及文本节点的节点值