2009-12-02 3 views
1

Il y a eu beaucoup d'autres messages liés à cela, mais je n'arrive pas à trouver la réponse à ma question. J'essaye d'analyser un fichier XML du formulaire suivant pour retourner seulement les éléments sous le noeud 'subGroup'.Analyse syntaxique de XML spécifique à un nœud à l'aide de JQuery

Voici le code XML exemple:

<?xml version="1.0" ?> 
<resultsGroup> 
    <item> 
     <id></id> 
     <title></title> 
     <description></description> 
    </item> 
    <item> 
     <id></id> 
     <title></title> 
     <description></description> 
    </item> 
    <subGroup> 
     <item> 
      <id></id> 
      <title></title> 
      <description></description> 
     </item> 
     <item> 
      <id></id> 
      <title></title> 
      <description></description> 
     </item> 
     <item> 
      <id></id> 
      <title></title> 
      <description></description> 
     </item> 
    </subGroup> 
</resultsGroup> 

Et voici actuellement ce que j'utilise pour l'analyser:

$.get(url,{},function(data){ 
    $('item',data).each(function(i){ 
     var id = $(this).find("id").text(); 
     var title = $(this).find("title").text(); 
     var description = $(this).find("description").text(); 

     list.append('<li>' + id + ':' + title + ':' + description + '</li>'); 
    }); 
}); 

Le problème est que les éléments énumérés sous la « resultsGroup » sont étant également sélectionné par $ ('item', data) .each(). J'apprécierais que quelqu'un puisse expliquer comment sélectionner seulement ces éléments sous un nœud spécifique, dans ce cas le nœud 'subGroup'.

Merci d'avance pour votre aide!

Répondre

2

Utilisez $ ('subGroup> item', data)

+0

Wow, c'était rapide! Merci Doug. Y at-il quelque part en ligne qui explique les sélecteurs XML JQuery plus en détail? Je ne pouvais rien trouver et j'aimerais mieux les comprendre. Merci encore! –

+0

jQuery ne prend plus en charge XPath, mais ses sélecteurs CSS fonctionnent avec XML. Voir http://docs.jquery.com/Selectors –

+0

Nice Doug- c'était difficile à trouver – Yarin