Je suis en train d'analyser un document XML à l'aide de SAX Parser. P>
Je veux savoir ce qui est mieux et plus rapide de travailler avec DOM STRAND>,
3 Réponses :
Cela dépend de ce que vous faites, si vous avez des fichiers très volumineux, vous devez utiliser SAX Parser car il incendiera les événements et les libérera, rien n'est stocké en mémoire et utiliser SAX Parser, vous ne pouvez pas accéder à l'élément dans une manière aléatoire, il n'y a pas de retour! , mais Dom vous permet d'accéder à n'importe quelle partie du fichier XML car il conserve l'ensemble du fichier / document en mémoire. J'espère que cela vous répondez. P>
Si vous voulez savoir quel parseur le plus rapide Xerfeferrer"> XERCES va être le plus rapide que vous trouverez et saxo L'analyseur devrait vous donner plus de performance que DOM P>
Je suis à la recherche d'un moyen le plus rapide d'analyser le document XML que j'ai. n'est pas un énorme document.
@Basbous: SAX ou XMLPullparser sont les plus rapides, mais DOM est FAR I> plus facile à utiliser.
L'analyseur SAX XML déjà disponible dans le SDK Android. P>
http://developer.android.com/reference/org/ xml / sax / xmlreader.html p>
Il est donc facile d'accès. P>
J'utilise déjà l'analyseur SAX mais je demande si le DOM ou XMLPullparser est plus rapide ??
Il est facile d'accès, mais très difficile / fastidieux à utiliser!
Un aspect par lequel différents types d'analyseurs peuvent être classés est de savoir s'ils doivent charger l'ensemble du document XML en mémoire à l'avance. Les analyseurs basés sur le modèle d'objet de document (DOM) font cela: ils analysent les documents XML dans une structure d'arborescence, qui peut ensuite être traversé dans la mémoire pour lire son contenu. Cela vous permet de traverser un document en ordre arbitraire et donne lieu à certaines API utiles pouvant être giflées sur DOM, telles que XPath, une langue de requête de chemin qui a été spécialement conçue pour extraire des informations des arbres. L'utilisation de DOM n'est pas une grande partie des avantages car son API est clunky et il est coûteux de toujours tout lire en mémoire, même si vous n'avez pas besoin de. Par conséquent, les analyseurs DOM sont, dans la plupart des cas, pas le choix optimal d'analyser XML sur Android. P>
Il y a une classe d'analyseurs qui n'ont pas besoin de charger un document à l'avance. Ces analyseurs sont basés sur le flux em>, ce qui signifie qu'ils traitent un document XML tout en le lisant à partir de la source de données (la bande ou un disque). Cela implique
que vous n'avez pas d'accès aléatoire à l'arborescence XML comme avec DOM car aucune représentation interne du document n'est maintenue. Les analyseurs de flux peuvent être davantage distingués les uns des autres. Il y a push parsers em> que, tout en streaming, le document rappelle à votre application lors de la rencontre d'un nouvel élément. Les analyseurs SAX, tombent dans cette classe. Ensuite, il y a des analyseurs tracés, qui ressemblent plus à des itérateurs ou de curseurs: ici le client doit demander explicitement que l'élément suivant soit récupéré. P>
Source: Android dans la pratique. P>
Dupliqué possible de Android: meilleure bibliothèque de parsing XML?
Le meilleur didacticiel que vous avez possède ce ici .
Bon lien de tutoriel @Lalitpoptani .........
Yup, j'irais avec Xmlpullparser aussi.
Avez-vous essayé d'utiliser VTD-XML?