codecamp

XML DOM – 遍历节点树

XML DOM 遍历节点树

您经常需要循环 XML 文档,比如,当你需要提取每个元素的值时,这个过程叫作“遍历节点树”。


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


遍历节点树

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

这叫做"遍历节点树"。

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

实例

<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("
");
}
</script>
</body>
</html>

输出:

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

尝试一下 »

实例解释:

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

以上就是关于 DOM 遍历节点树的全部内容了,通过遍历操作,你可以获得子节点的名称和值!

XML DOM – 节点列表和命名节点图
XML DOM 浏览器差异
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }