1

現在、ユーザーがアイテムをドラッグして正しいカテゴリにドロップする 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 = [マイルド-1,マイルド-2,マイルド-3]

array2 = [Moderate-1,Moderate-2,Moderate-3] など...

これにより、ドロップされたアイテムの属性がカテゴリ配列に基づいて正しいかどうかを確認できます。

これを行う方法について他にアイデアがある場合は、提案してください。

前もって感謝します。

4

3 に答える 3

5

次のようなものを試してください:

$(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..
于 2012-09-10T11:22:13.073 に答える
3

このようにしてみてください:

$("cat", xml).each(function () {
   $("item", this).toArray();
});
于 2012-09-10T11:04:33.103 に答える