【发布时间】:2016-10-01 04:05:45
【问题描述】:
我有一个具有以下结构的 XML 文件:
<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 ?
-
你应该显示 JSON,而不是 xml
-
不知道行的对象类型,如何查看?我正在从元素节点(也可以有子节点)中的数据构建一个 div。我现在的解决方案是检查有多少行孩子;如果只有 1 我直接抓取它,如果超过 1 我通过 forEach 遍历它们。这可行,但在我看来不是很有效。
-
@ILE 您可能希望包含一个只有一行的 XML 样本。此外,我们必须假设您在这里发生了一些 XML -> JSON 转换,并且它可能被配置为转换具有这样一个元素的数组
标签: javascript json xml