jQuery 帮助 - 将 XML 解析为数组

标签 jquery xml arrays http parsing

我目前正在开发一个 HTML 游戏,用户可以在其中拖动项目并将它们放入正确的类别中。类别及其项在 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 = [mild-1,mild-2,mild-3]

array2 = [Moderate-1,Moderate-2,Moderate-3] etc...

这将允许我根据类别数组检查掉落元素的属性是否正确。

如果您对如何做到这一点有任何其他想法,请提出建议。

提前谢谢你。

最佳答案

试试,像这样:

$(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..

关于jQuery 帮助 - 将 XML 解析为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12350245/

相关文章:

c# - XPATH 查询以从存储在 SQL Server 数据库列中的 XML 中获取数据

顶部的 Android 按钮和屏幕底部的 ScrollView

arrays - 将 Parse 数据检索到数组时出错

c - 在 C 中访问本地定义的结构

javascript - 如何使用 jQuery 创建一个带有函数的按钮,然后提交它?

javascript - setTimeout 的意外行为

jquery - jQuery Mobile 的颜色选择器

通过 "container.find()"检索 Id 值时,Javascript 返回 false

xml - 两个相邻的tileContainer

c - 在没有函数帮助的情况下将 char 添加到字符串