jQuery: XML – Lettura di nodes figlio da un nodo specifico

Ho un file xml in cui voglio leggere i nodes figli di un nodo specifico … Di seguito è il file XML.

La struttura del file XML:

   1 2   3 4 5   6   

Un esempio di ciò che ho bisogno di usare questo XML è tutti i generi per il tipo di categoria B. In che modo posso filtrare tutte le altre categorie in modo da poter fare un .find (“genere”). Each … e restituire solo generi 3,4 e 5.

Ecco il codice im utilizzando:

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

La categoria .category è un object quando è stato modificato il codice dovrebbe sparare … dal momento che sta imitando un altro object sul suo cambiamento ma comunque non è molto importante per questa domanda …

Grazie in anticipo!!

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

Questo avrebbe trovato tutti i nodes di category cui type è "Type B" e ottenere tutti i nodes figlio di genre di ogni categoria abbinata.