我想在另一个for循环中使用for循环来获取xml文件的内容。
问题是,当第二个循环开始时,第一个循环停止
javascript代码:
var x = xmlDoc.getElementsByTagName('usr');
for (i=0; i <= x.length; i++) {
var y = x[i].childNodes;
for(n=0; n <= y.length; n++) {
var z = y[n].childNodes[0];
document.write(z.nodeValue);
}
}
xml代码:
<usr><age>30</age><location>uk</location></usr>
<usr><age>25</age><location>usa</location></usr>
输出结果为:
30uk
应该是30uk25usa
答案 0 :(得分:8)
在两个循环中,您将迭代一次。
i=0; i<=x.length
应为i = 0; i < x.length
,内循环应相同。
迭代一次太多会产生错误,从而导致执行
答案 1 :(得分:0)
尝试在第一个循环之外存储所需的总结果,然后在外循环完成后使用document.write()
:
var x = xmlDoc.getElementsByTagName('usr');
var zTotal = '';
for (i=0; i < x.length; i++) {
var y = x[i].childNodes;
for(n=0; n < y.length; n++) {
var z = y[n].childNodes[0];
zTotal += z.nodeValue;
}
}
document.write(zTotal);