我有具有以下结构的XML文件:通过JSON解析带有1个子节点的XML时,Javascript forEach不起作用?
<output>
<count>
</count>
<rows>
<row>
<element1></element1>
<element2></element2>
<element3></element3>
<element4></element4>
</row>
<row>
<element1></element1>
<element2></element2>
<element3></element3>
<element4></element4>
</row>
</rows>
</output>
我请求通过AJAX从PHP文件,并将它(响应)加载到一个变量:
var xml=JSON.parse(response);
接下来,我要循环通过它来抓取数据。我注意到,当行节点的数量> 1,我可以做例子:
var list=[];
xml.output.list.rows.row.forEach(function(item)
{
list.push(item.element1);
});
但是,如果只有1行节点,这的forEach不起作用。有人能向我解释为什么和/或提供替代解决方案/方法来遍历这样的文件?
XML ***不是*** JSON? – adeneo
你应该显示JSON,而不是xml –
我不知道行的对象类型,我该如何检查?我正在构建元素节点(也可以有子节点)中的数据。现在我的解决方案是检查有多少行孩子;如果只有1我直接抓住它,如果超过1我通过forEach遍历它们。这是有效的,但我认为效率不高。 – ILE