Maison  >  Article  >  développement back-end  >  Le moyen le plus efficace d'analyser XML

Le moyen le plus efficace d'analyser XML

黄舟
黄舟original
2017-02-25 14:22:262495parcourir

XML est largement utilisé dans divers développements, et Android ne fait pas exception. En tant que rôle important dans le transport des données, la lecture et l'écriture de XML sont devenues une compétence importante dans le développement Android. Aujourd'hui, je vais vous présenter plusieurs méthodes courantes d'analyse et de création XML sur la plateforme Android.

Sous Android, les analyseurs XML courants sont l'analyseur SAX, l'analyseur DOM et l'analyseur PULL Ci-dessous, je vais vous donner une introduction détaillée.

Analyseur SAX :

SAX (API simple pour XML) est un analyseur basé sur les événements. Son cœur est le mode de traitement des événements, qui fonctionne principalement autour des sources d'événements et des processeurs d'événements. Lorsque la source d'événement génère un événement, appelez la méthode de traitement correspondante du processeur d'événement et un événement peut être traité. Lorsque la source d'événement appelle une méthode spécifique dans le gestionnaire d'événements, elle doit également transmettre les informations d'état de l'événement correspondant au gestionnaire d'événements, afin que le gestionnaire d'événements puisse décider de son propre comportement en fonction des informations d'événement fournies.

L'avantage de l'analyseur SAX est qu'il a une vitesse d'analyse rapide et prend moins de mémoire. Parfait pour une utilisation sur les appareils mobiles Android.

Analyseur DOM :

DOM est une collection de nœuds ou de fragments d'informations basés sur une structure arborescente, permettant aux développeurs d'utiliser DOM L'API parcourt l'arborescence XML et récupère les données requises. L'analyse de cette structure nécessite généralement de charger l'intégralité du document et de construire une arborescence avant que les informations sur les nœuds puissent être récupérées et mises à jour.

Étant donné que DOM est stocké dans une structure arborescente en mémoire, l'efficacité de la récupération et de la mise à jour sera plus élevée. Mais pour les documents particulièrement volumineux, l’analyse et le chargement de l’intégralité du document nécessiteront beaucoup de ressources.

Analyseur PULL :

L'analyseur PULL fonctionne de la même manière que SAX, les deux sont basés sur des événements. La différence est que pendant le processus d'analyse PULL, nous devons obtenir nous-mêmes les événements générés puis effectuer les opérations correspondantes, contrairement à SAX où le processeur déclenche un événement et exécute notre code. L'analyseur PULL est petit et léger, a une vitesse d'analyse rapide, est simple et facile à utiliser et est très approprié pour une utilisation sur les appareils mobiles Android. L'analyseur PULL est également utilisé en interne dans le système Android lors de l'analyse de divers XML.

Sous Android, le premier choix est bien sûr le pull parser. L'analyseur PULL est petit et léger, a une vitesse d'analyse rapide, est simple et facile à utiliser et est très approprié pour une utilisation sur les appareils mobiles Android. Le système Android utilise également l'analyseur PULL lors de l'analyse de divers fichiers XML. Les responsables d'Android recommandent aux développeurs de l'utiliser. Technologie d'analyse pull. La technologie d'analyse pull est une technologie open source développée par un tiers et peut également être appliquée au développement JavaSE.

PULL fonctionne :

XML pull fournit un élément de début et un élément de fin. Lorsqu'un élément démarre, vous pouvez appeler parser. nextText extrait toutes les données de caractères du document XML. Lorsqu'un document est analysé jusqu'à la fin, l'événement EndDocument est automatiquement généré.

Interfaces et classes d'extraction XML couramment utilisées :

XmlPullParser : cet analyseur est une interface pour analyser les fonctions définies dans org.xmlpull.v1.

XmlSerializer : C'est une interface qui définit la séquence des ensembles d'informations XML.

XmlPullParserFactory : Cette classe est utilisée pour créer du XML dans l'API XMPULL V1 Tirez l'analyseur.

XmlPullParserException : renvoie une seule erreur liée à l'analyseur d'extraction XML.

L'analyseur PULL fonctionne de la même manière que SAX, les deux sont basés sur des événements.

La différence est que les nombres sont renvoyés pendant le processus d'analyse PULL, et nous devons obtenir nous-mêmes les événements générés puis effectuer les opérations correspondantes, contrairement à SAX où le processeur déclenche un événement et exécute notre code :

Lisez la déclaration XML et renvoyez START_DOCUMENT end et renvoyez END_DOCUMENT ; ; La balise de début renvoie START_TAG ;

La balise de fin renvoie END_TAG ; Le texte renvoie TEXT.

Enfin, faites une comparaison et un résumé de ces trois technologies d'analyse :
Pour les appareils mobiles Android, parce que les ressources de l'appareil sont relativement précieuses et la mémoire est limitée, nous devons choisir la technologie d'analyse XML appropriée. , ce qui contribue à améliorer la vitesse d’accès.

Lorsque DOM traite un fichier XML, il analyse le fichier XML dans une structure arborescente et le met en mémoire pour le traitement. Lorsque le fichier XML est petit, on peut choisir DOM car il est simple et intuitif.

SAX utilise les événements comme mode d'analyse des fichiers XML. Il convertit les fichiers XML en une série d'événements, et différents gestionnaires d'événements décident comment les traiter. Lorsque le fichier XML est volumineux, il est plus raisonnable de choisir la technologie SAX. Bien que la taille du code soit quelque peu importante, elle ne nécessite pas de charger tous les fichiers XML en mémoire. Ceci est plus efficace avec une mémoire Android limitée, et Android fournit une manière traditionnelle d'utiliser SAX ainsi qu'un wrapper SAX pratique. Utiliser les classes XML est plus simple que d'utiliser SAX.

XML L'analyse pull n'écoute pas la fin de l'élément comme l'analyse SAX, mais effectue l'essentiel du traitement au début. Cela favorise la lecture précoce des fichiers XML et peut réduire considérablement le temps d'analyse. Cette optimisation est particulièrement importante pour les appareils mobiles dotés de vitesses de connexion lentes. Pour les documents XML volumineux mais dont seule une partie est nécessaire, XML Les analyseurs pull sont une approche plus efficace.

Ce qui précède est le contenu de la méthode d'analyse XML la plus efficace. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Python analyse XML[xml.dom]Article suivant:Python analyse XML[xml.dom]