2010-11-23 73 views
0

J'ai un webservice de savon qui retourne quelque chose comme ceci:Comment analyser une liste d'objets récupérés avec ksoap sur Android?

ListResult{id=123; 
result=ListItem{currencyID=2; currencyISO=EUR; desc=description; hasEMagazine=true; hasPrintMagazine=true; incentiveB=0; incentiveE=1000; objectCatalogID=123; objectID=12345; objectTypeID=1; picURL=url; priceB=222 ; priceRB=anyType{};0 sortID=0; title=title; uniqueProductAttrID=0; }; 
result=ListItem{currencyID=2; currencyISO=EUR; desc=description; hasEMagazine=true; hasPrintMagazine=true; incentiveB=0; incentiveE=1000; objectCatalogID=123; objectID=12345; objectTypeID=1; picURL=url; priceB=222 ; priceRB=anyType{};0 sortID=0; title=title; uniqueProductAttrID=0; }; 
result=ListItem{currencyID=2; currencyISO=EUR; desc=description; hasEMagazine=true; hasPrintMagazine=true; incentiveB=0; incentiveE=1000; objectCatalogID=123; objectID=12345; objectTypeID=1; picURL=url; priceB=222 ; priceRB=anyType{};0 sortID=0; title=title; uniqueProductAttrID=0; }; 

Maintenant, je voudrais générer une liste des résultats de cet objet. Je reçois un objet de résultat qui a 20 propriétés et si je récupère une de ces propriétés, j'obtiens une SoapPrimitive contenant tout l'élément ListItem comme une chaîne.

Existe-t-il un moyen élégant de récupérer les valeurs nécessaires à partir de cet objet SoapPrimitive sans analyser la chaîne manuellement?

Répondre

0

J'ai fini par utiliser la réflexion. Je passe dans un objet de sortie vide une itération sur tous les champs pour voir si l'un des champs est contenu dans le résultat du soap. Jetez un oeil à ce tutorial pour des exemples de code.