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
=
;
i
<
x
.
length
;
i
++
)
{
txt
+=
x
[
i
]
.
nodeName
+
"
:
"
+
x
[
i
]
.
childNodes
[
]
.
nodeValue
+
"
<br>
"
;
}
document
.
getElementById
(
"
demo
"
)
.
innerHTML
=
txt
;
</
script
>
</
body
>
</
html
>
输出:
title: Everyday Italian
author: Giada De Laurentiis
year: 2005
author: Giada De Laurentiis
year: 2005
尝试一下 »
实例解释:
- 将 XML 字符串载入 xmlDoc 中
- 获取根元素的子节点
- 输出每个子节点的节点名称以及文本节点的节点值