jQuery:XML – 从特定节点读取子节点

我有一个xml文件,我想在其中读取特定节点的子节点…下面是XML文件。

XML文件结构:

   1 2   3 4 5   6   

我需要使用这个XML的一个例子是类别B的所有类型。我怎么能过滤掉所有其他类别,所以我可以做一个.find(“genre”)。每个……并且只返回类型3,4和5。

inheritance人使用的代码:

 $.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("" + genre + ""); }); }); 

.category是一个对象,当它改变了代码时应该触发…因为我在改变它时会对另一个对象进行计算,但是对于这个问题来说这不是很重要…

提前致谢!!

 $(xml).find('category[type="Type B"] > genre') 

这将找到type"Type B"所有category节点,并获得每个匹配类别的所有genre子节点。