我在JavaScript中创建了一个循环,它读出我的节点名称和里面的值。
循环适用于第一个节点和第二个节点,但在其余节点上,它只是重复第二个节点的值。
所以输出结果如下:
Name on nod 1 is title The value in the node is XML Content and Data Name on nod 2 is Author The value in the node is XML Content and Data
等等。
我应该在循环中创建一个循环吗?我可以多遍整个树吗?
if (xmlDoc.parseError != 0) {
alert("Error Code: " + xmlDoc.parseError.errorCode + "\n"
+ "Error Reason: " + xmlDoc.parseError.reason + "\n"
+ "Error Line: " + xmlDoc.parseError.line)
}
root = xmlDoc.documentElement
rootList = root.childNodes
len = rootList.length
x = xmlDoc.getElementsByTagName("title")[0]
y = x.childNodes[0];
for (i = 0; i < len; i++) {
j = i + 1
document.write("Name on nod " + j + " is " + rootList.item(i).nodeName + "<br />")
document.write(" value of the the nod is " + y.nodeValue + "<br />" + "<br />");
}
答案 0 :(得分:1)
y始终指向同一节点(y = x.childNodes [0])。您可能打算在循环的每次迭代中获得一个不同的节点。
答案 1 :(得分:0)
循环中i的日志值。如果你看到它重复,那么JavaScript for loop index strangeness可能会帮助你。