第一个循环在第二个循环开始时停止

时间:2014-08-25 15:34:05

标签: javascript

我想在另一个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

2 个答案:

答案 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);