2010-10-18 6 views
0

Je voudrais juste savoir si ma façon de faire (analyser les données xml) est correcte. À partir du service Web (hébergé sur Sharepoint 2007), je récupère les données xml. Le service Web ne récupère aucun paramètre, renvoie simplement des données. Maintenant, j'utilise la fonction jQuery .ajax() pour parcourir ces données et les exporter.Analyse des données du service Web. jQuery and Sharepoint 2007

XML est très profond à l'intérieur (7 niveaux)

Juste un exemple de ce que je meen profond. Ce n'est pas la façon dont mon XML ressemble.

 <data id="1"> 
      <item id="One value"> 
       <param id="Another value"> 
        .... going deep inside .. 
       </param> 
         <param id="Another value"> 
        .... going deep inside .. 
       </param> 
         <param id="Another value"> 
        .... going deep inside .. 
       </param> 
      </item> 
      <item id="One value"> 
       <param id="Some valu"> 
        ... deep iside ... 
       </param> 
      </item> 
      <item id="One value"> 
       <param id="Another value"> 
        .... 
       </param> 
      </item> 
     </data> 
<data id="1"> 
      <item id="One value"> 
       <param id="Another value"> 
        .... going deep inside .. 
       </param> 
         <param id="Another value"> 
        .... going deep inside .. 
       </param> 
         <param id="Another value"> 
        .... going deep inside .. 
       </param> 
      </item> 
      <item id="One value"> 
       <param id="Some valu"> 
        ... deep iside ... 
       </param> 
      </item> 
      <item id="One value"> 
       <param id="Another value"> 
        .... 
       </param> 
      </item> 
     </data> 

Je dois obtenir toutes ces données dans la balise UL LI HTML. C'est ce que je fais.

$(xData.responseXML).find("data").each(function() { 
       var data_item_id_value = $(this).attr('id'); 
       var data_item_id = $(this); 
       data_menu += "<li>" + data_item_id_value + "</li>"; 

       $(xData.responseXML).find("item").each(function() { 
         ................ going under ...... 
       } 
} 

Est-ce la façon dont vous le feriez?

Répondre

0

JSON est un ordre de grandeur plus rapide à consommer sur le client et beaucoup plus facile à parcourir puisqu'il s'agit essentiellement d'un ensemble de baies JavaScript imbriquées.

+0

Je pense que je ne peux pas négocier sur la sortie .. xml est la seule option .. – displayName

0

Chaque fois que quelqu'un retire des données JSON/XML et veut l'insérer dans une structure HTML simple ou complexe, je recommande toujours une solution de modélisation. Celui que j'ai choisi d'utiliser est basé sur celui de John Resig et en cours de développement mon talent Microsoft. Disponible here. Un bon article peut être trouvé here.

Questions connexes