XML を解析するためのヘルプを求めて、今日投稿しました ( Old Question )。その時点では、このソリューションで問題が完全に解決されないことに気づきませんでした。
私の問題は、個々の要素を見つけて XML を解析することはできますが、各項目がどのレベルにあるかをメモする必要があることです。アイテムとカテゴリの数は XML ドキュメントごとに異なりますが、構造はすべて同じです。
<?xml version="1.0"?>
<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>
たとえば、'find("item")' を使用する場合、それがどの下にあったか (0、1、2、3、4 など) も記録する必要があります。同じことが catTitle にも必要です。
次に、この番号を属性として割り当てたいと思います。これにより、に基づいて、アイテムがそのカテゴリに一致するかどうかを簡単に比較できます。
現在、私は以下を持っています:
//XML Array
///////////////////////////////////////
function loadXML(){
$.ajax({
type: "GET",
url: XML_PATH,
dataType: "xml",
success: parseXMLtoArray
});
}
function parseXMLtoArray(xml){
$(xml).find("cat").each(function(idx, v) {
categoryArrays[idx] = [];
$(v).find("item").each(function( i , vi) {
categoryArrays[idx].push( $(vi).text() );
});
});
console.log(categoryArrays);
}
///////////////////////////////////////
この目的をよりよく理解するために、スクリーンショットを添付しました。
ユーザーは「アイテム」を下部の正しいカテゴリにドラッグし、正しいかどうかに基づいてドロップ可能になります。
どんな助けでも大歓迎です!