Question

J'apprends l'API Android d'un livre, et il semble qu'il ne soit pas fait mention d'une api alignée sur le flux pour traiter avec raw xml (lecture de et écriture). Sa suggestion d’analyse est XmlPullParser , et ses exemples paraissent horribles si l’on considère le type de api qui me gâte sur d’autres plateformes ( LINQ to XML surtout).

S'agit-il de la meilleure technique disponible sur la plateforme Android ?

Évidemment, je peux écrire un wrapper pour éviter les répétitions, mais je serais surpris que cela n'existe pas déjà.

De plus, il ne fait même pas mention de la création de structures xml dans le code. Quelles sont mes options pour les deux?

Soit dit en passant, les développeurs Java familiers avec LINQ to XML dans .Net connaissent-ils un équivalent en Java?

Était-ce utile?

La solution

Etant donné que vous ne souhaitez probablement pas charger de DOM de taille importante dans la mémoire d'Android, les analyseurs syntaxiques d'extraction et SAX sont privilégiés pour le traitement XML dans Android. Je pense qu'il est rentable d'investir dans la compréhension du fonctionnement de SAX et dans l'écriture d'un gestionnaire personnalisé plutôt que de s'appuyer sur des bibliothèques génériques incompatibles ou surchargées. J'analyse régulièrement XML dans mes applications avec SAX et je suis très satisfait de la rapidité (la plupart du temps)

Autres conseils

Eh bien, je suis assez nouveau sur Java, mais voici ce que j’ai glané jusqu’à présent sur l’analyse xml sur Android:

L'approche XmlPullParser est recommandée pour Android en raison de contraintes de ressources. Il existe un analyseur DOM disponible dans Android, qui vous permettrait d'utiliser XPath pour naviguer dans un document XML. L'utilisation du DOM signifie toutefois que vous devez charger tout le document en mémoire en même temps. La méthode XmlPullParser est beaucoup plus efficace en termes de mémoire utilisée.

La méthode XmlPullParser demande un peu d’habitude après avoir été familiarisée avec LINQ to XML ou XPath, mais ce n’est vraiment pas si mal à mon humble avis (du moins avec les documents que j’ai analysés). Si vous travaillez avec de petits documents XML, vous pouvez certainement utiliser le DOM avec XPath.

Il existe un article intéressant sur les différentes méthodes de lecture et d'écriture de code XML avec Android: http://www.ibm.com/developerworks/opensource/ bibliothèque / x-android / index.html

J'ai eu les mêmes problèmes avec l'analyse xml ou xhtml et j'ai fini par écrire un service Web qui le faisait pour moi.

Android Device ->(Request URL) -> Webservice Get and Parse -
-> (Data) -> Android Device

Vous pouvez transmettre les données au format JSON pour pouvoir les utiliser sur le périphérique. L’avantage de cela est que vous pouvez minimiser le trafic sur le réseau mobile lent et modifier l’analyse sans libérer une nouvelle application Android.

Peut-être que cela fonctionnera pour vous aussi.

salutations

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top