特定のノードの子ノードを読み取るXMLファイルがあります。以下はXMLファイルです。jQuery:XML - 特定のノードから子ノードを読み取る
XMLファイル構造:
<?xml version="1.0" encoding="ISO-8859-1"?>
<categories>
<category type='Type A'>
<genre>1</genre>
<genre>2</genre>
</category>
<category type='Type B'>
<genre>3</genre>
<genre>4</genre>
<genre>5</genre>
</category>
<category type='Type C'>
<genre>6</genre>
</category>
</categories>
私はこのXMLを使用して必要wouildものの例は、私は私が行うことができ、他のすべてのカテゴリを除外することができる方法を正確にカテゴリタイプBのすべてのジャンルであります.find( "ジャンル")各....のみリターン用いて3,4および5
HERESにコードIMをジャンル:
$.ajax({
type: "GET",
url: "myxml.xml",
dataType: "xml",
success: function(data){
xml = data;
});
}
});
return {getXml : function()
{
if (xml) return xml;
}};
})();
/* On Category Change */
$(".category").change(function(){
var xml = xmlArtists.getXml();
$(".genre").find("option").remove().end();
var type = $(this).val();
var typeGenres = $(xml).find("categories").filter(function(){
return $(this).find("category").attr("type") == type;
});
typeGenres.find("genre").each(function(){
var genre = $(this).text();
$(".genre").append("<option value=" + genre + ">" + genre + "</option>");
});
});
.categoryは、コードが変更されたときにオブジェクトが変更されたときに別のオブジェクトをポーリングするので、この質問の重要性はそれほど重要ではありません。
ありがとうございます!
はちょうど私が思ったより... HERESにコードを簡単だったそれを考え出した:。 /*カテゴリーの変更*/ \t $( "カテゴリ")には(関数(){ \t \tするvar XMLを変更= xmlArtists.getXml(); \t \t \t \t $( "ジャンル ")(" オプション")を見つける(削除)終了();。。。 \t \t \t \t VARタイプ= $(この).val (); \t \t $(xml).find( "category [type = '" + type + "']")。find( "genre")。それぞれ(function(){ \t \t \t var genre = $(this).text();\t \t \t $( "。genre")。append( ""); \t \t}); \t}); –