2010-11-12 4 views
0

Je fais une application Android, et j'ai besoin de me connecter à une base de données distante avec un webservice.Existe-t-il un analyseur XML facile à utiliser pour la connexion à une base de données distante?

Je recevrai un fichier XML du service web avec les résultats de ma requête SELECT (plusieurs lignes dans certains cas).

Je ne connais pas grand chose au XML ou aux services web, je sais seulement que je vais recevoir un fichier XML et que je dois l'analyser pour obtenir les données.

Existe-t-il un analyseur XML à cet effet, facile à ajouter à mon application et à configurer?

Répondre

1

La conception d'analyseurs XML n'est pas très difficile. Vous pouvez probablement google pour les analyseurs XML, puis les modifier pour rechercher les tags dont vous avez besoin ou les valeurs.

Google est votre ami.

2

Je suggère de ne pas utiliser XML et d'utiliser plutôt JSON. JSON est beaucoup plus propre et beaucoup moins en kilo-octets. Ensuite, j'utiliserais Jackson pour désérialiser la chaîne JSON à un objet. Vous n'avez vraiment pas besoin de travailler. Il suffit de pointer sur l'URL et vous récupérez un objet. Vous devez juste vous assurer que sur le webservice vous générez aussi le bon JSON, que vous pouvez également utiliser Jackson.

Voici comment il est facile:

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally 
User user = mapper.readValue(new File("user.json"), User.class); // can use File, URL, String! 
+0

pouvez-vous me donner un peu plus d'informations à ce sujet? par exemple, dans le webservice, que dois-je faire pour transformer un ensemble de lignes (résultat d'une requête SELECT) en un objet JSON prêt à être envoyé par internet à un téléphone android? et aussi, comment puis-je transformer cet objet JSON en un ensemble de lignes quand je l'ai sur mon téléphone Android? exemples de code sera très bon, je suis noob sur ce point, et tout ce que je trouve sur google est très difficile pour moi, ne trouve rien sur l'ensemble des lignes – NullPointerException

+0

hmm c'est beaucoup de code pour moi de montrer quelque part . Laisse-moi regarder autour de moi pour voir ce que je peux trouver. Mais maintenant, jetez un oeil à Jackson. Vous pouvez créer tous vos objets à partir de lignes et les mettre dans une liste. Puis appelez simplement une fonction en utilisant ObjectMapper pour faire le travail pour vous. –

0

Vous n'avez pas besoin de connaissances approfondies sur XML, mais vous devriez savoir un peu à ce sujet. Une lecture recommandée serait cette article. Vous devriez également savoir au moins comment le serveur gère la communication. S'agit-il d'une communication unidirectionnelle (votre application ne récupère que des données) ou s'agit-il d'une communication bidirectionnelle (vous envoyez des requêtes au serveur). Si plus tard, comment le serveur les gère et ainsi de suite. Un peu de connaissances de base est nécessaire.

Je recommande toujours d'utiliser l'analyseur syntaxique SAX car il semble être le plus efficace en raison de son concept (basé sur les événements). Une bonne lecture sur le traitement des fichiers XML sur Android peut être trouvé here. Et n'oubliez pas de chercher des questions similaires ici sur StackOverflow car c'est une question assez populaire avec quelques réponses de qualité.

Questions connexes