jQuery的帮助 - 解析XML到数组
问题描述:
我目前正在开发一个HTML游戏,用户拖动项目,并将其放入正确的类别。类别及其项目在XML文档中定义。jQuery的帮助 - 解析XML到数组
我的XML格式:
<config>
<game>
<title>Dementia</title>
<cat>
<catTitle>Mild</catTitle>
<item>mild-1</item>
<item>mild-2</item>
<item>mild-3</item>
</cat>
<cat>
<catTitle>Moderate</catTitle>
<item>Moderate-1</item>
<item>Moderate-2</item>
<item>Moderate-3</item>
</cat>
<cat>
<catTitle>Severe</catTitle>
<item>Severe-1</item>
<item>Severe-2</item>
</cat>
</game>
我想分析使用jQuery将根据其类别单独列这个XML文件。
因此,例如:
ARRAY1 = [温和-1,轻度-2,轻度-3]
数组2 = [中等-1,中度-2,中度-3]等。 ..
这将允许我根据类别数组检查被删除项目的属性是否正确。
如果您有任何其他想法可以做到这一点,请建议。
预先感谢您。
答
尝试,这样的事情:
$(document).ready(function() {
var arr = [];
$(xml).find("cat").each(function(idx, v) {
arr[idx] = [];
$(v).find("item").each(function(i , vi) {
arr[idx].push($(vi).text());
});
});
console.log(arr);
});
将返回响应,如:
[
["mild-1", "mild-2", "mild-3"]
,
["Moderate-1", "Moderate-2", "Moderate-3"]
,
["Severe-1", "Severe-2"]
]
这样你就可以访问各个阵列,
console.log(arr[0]); //for first, and so on..
答
尝试这样的:
$("cat", xml).each(function() {
$("item", this).toArray();
});
答
$($.parseXML(xml)).find("cat").each(function (idx, v) {
arr[idx] = [];
$(v).find("item").each(function (i, vi) {
arr[idx].push($(vi).text()
);
});
因为$(xml)
在IE中不起作用(请参阅此jQuery.find()
不会在IE中返回数据,但会在Firefox和Chrome中执行此操作)。
非常感谢你@Sudhir。它完美的作品。 –