Mozilla 的 Javascript:
while (result)
{
alert(result.childNodes[0].nodeValue);
//txt=txt+result.childNodes[0].nodeValue+"<br/>";
result=nodes.iterateNext();
}
这旨在从 xml 文件中返回一系列字符串。当我使用警报线时,它会按预期使用一系列适当的字符串发出警报。注释行上的“txt”变量应该转到函数中更下方的 innerHTML。但是 Firebug 一直告诉我 result.childNodes[0] 是未定义的。为什么它会在警报中定义而不是下一行?
我希望有足够的代码来确定问题......如果不是,我会发布更多。
感谢帮助
[编辑]
这是结果的定义:
var x=xmlDoc.responseXML;
var nodes=x.evaluate(path, x, null, XPathResult.ANY_TYPE, null);
var result=nodes.iterateNext();
我正在检索 XML
[编辑]
好的,我将迭代器放在这样的 for 循环中:
for (var i=0; i<2; i++)
{
var res=(xmlNodes.childNodes[0].nodeValue);
txt=txt+res+"<br/>";
xmlNodes=xmlQuery.iterateNext();
}
因为我有一个理论,一旦迭代为空,循环就会失败。这就是发生的事情——它一直有效,直到我将循环设置为高于可用节点的数量。现在我想弄清楚如何获得节点集的“长度”。我怎么做?