Volley bibliothèque pour Android parse xml de la réponse?
Je suis à l'aide de volley bibliothèque et d'obtenir la réponse en XML.Je veux savoir comment on peut analyser réponse à l'aide de /volley de la bibliothèque.Merci.
OriginalL'auteur userAndroid | 2013-07-31
Vous devez vous connecter pour publier un commentaire.
dans processdata méthode d'analyse de la réponse.Utilisation simple analyseur sax ou dom parser pour analyser la chaîne de réponse.
Comment je vais demander méthode POST avec le nom d'utilisateur et le Mot de passe par le format de xml.
juste un détail, vous avez de la faute de frappe sur processData(reponse);
corrigé,merci
OriginalL'auteur Piyush
Regardant Volley Source:
https://android.googlesource.com/platform/frameworks/volley/+/android-4.3_r0.9/src/com/android/volley/toolbox/
Si je ne me trompe pas, il est livré avec
JsonObjectRequest
etStringRequest
, mais pas de XMLRequest.Ainsi, vous pouvez utiliser
StringRequest
pour obtenir la réponse queString
, puis d'utiliser tout XML marshalling/sérialisation de l'outil (ex:Simple
) pour la convertir en un Objet.Découvrez
Simple
- XML de l'Ordonnancement de l'outil:http://simple.sourceforge.net/download.php
Si vous utilisez
StringRequest
, quelque chose comme ce qui suit devrait le faire:Alternativement, vous pouvez créer votre propre XMLRequest classe, par l'extension de la Demande, et d'utiliser la Sérialisation XML outil (Simple) pour retourner l'Objet.
Espérons que cela aide,
Merci Alif pour votre réponse.
Donc,pour l'analyse des données, nous devons utiliser notre propre logique d'analyse?
Vous êtes les bienvenus, Si vous utilisez SimpleXMLRequest, Pour l'analyse, vous devez utiliser la Sérialisation XML outil - simple.sourceforge.net. Vous avez seulement besoin de créer une classe POJO correspondant à XML, et alors Simple gonfler la Réponse XML pour Objet Java.
Je suis d'erreur dans Sérialiseur serializer = new Persister();
OriginalL'auteur Alif
Voici ma solution. Comme Sir Alif dit ci-dessus, volley pouvons vous fournir de la matière première chaîne de données XML, reçu par le serveur. Donc, tout ce que vous devez faire est de convertir cette Chaîne des modèles à votre application logique. Donc, pour l'analyse de la Chaîne, j'ai utilisé analyseur SAX. Je ne vais pas décrire ici comment utiliser l'analyseur SAX cause vous pouvez trouver des tonnes de tutoriels par vous-même, je vais juste décrire le point clé. Le morceau de code ci-dessous montre le moment où vous créez des instances de SAXParserFactory, SAXParser, XMLReader, etc., ici aussi, vous créez une instance de InputSource, et c'est le point clé. Couramment, vous ouvrez une connexion, à l'aide de certains d'adresse url et puis parser SAX traite les données reçues pour vous. Mais, dans la mesure où nous essayons de l'utiliser Volley de la bibliothèque, nous allons donner InputSource pas l'InputStream, mais un StringReader (plein d'informations sur la source d'entrée publique et des constructeurs, vous pouvez trouver ici). Il ressemblera à ceci:
Donc, dans l'Activité, où vous aurez le StringRequest de Volley, en onRespone() méthode, vous pouvez passer cette réponse à la makeList(String s) méthode (ou à tout ce que vous avez appelé la méthode avec la même fonctionnalité), qui va analyser vous que la réponse. Espérons que cette aide! Si vous avez des questions s'il vous plaît demander dans les commentaires.
OriginalL'auteur Sergey Maslov
Vous devez d'abord obtenir de réponse de la chaîne par:
);
après l'obtention de respone via volley, vous devez convertir la Chaîne de réponse aux flux d'entrée par cette méthode:
OriginalL'auteur Saurabh Bhandari