7
votes

La différence entre: Sax Parser, XPath, DOM, XMLPullparser

Je veux connaître la différence entre les quatre types ci-dessus (Saxpaser, XPath, DOM, XMLPullparse) et quand devrions-nous utiliser chacun.


1 commentaires

Voir ma réponse affichée !! J'espère que cela vous aidera


3 Réponses :


4
votes

Veuillez vérifier ci-dessous des liens ...

http://steveliles.github.com/comparing_methods_of_xml_parsing_in_android.html

http: //xjaphx.wordpress .COM / 2011/11/01 / Android-XML-Adventure-Comparez-XML-Parsers /

http://www.ibm.com/developerworks/ opensource / bibliothèque / x-android / index.html

http: // www.developer.com/ws/android/development-Tools/android-xml-parser-performance-3824221-2.htm

http://www.geekinterview.com/question_Détails/12797

(selon l'article ci-dessus)

SAX et DOM sont utilisés pour analyser le document XML. Tous deux présente des avantages et des inconvénients et peuvent être utilisés dans notre programmation en fonction de la situation

SAX:

  1. analyse noeud par nœud
  2. ne stocke pas le XML en mémoire
  3. Nous ne pouvons pas insérer ou supprimer un nœud
  4. Top to Bas Traversing

    dom

    1. stocke tout le document XML en mémoire avant le traitement
    2. occupe plus de mémoire
    3. Nous pouvons insérer ou supprimer des nœuds
    4. traverser dans n'importe quelle direction.

      Si nous devons trouver un nœud et ne pas besoin d'insérer ou de supprimer, nous pouvons aller avec saxo elle-même, sinon Dom à condition que nous ayons plus de mémoire.


0 commentaires

9
votes

L'analyse de la SAX est la meilleure à mettre en œuvre que DOM, voir la différence entre ces deux dans les éléments suivants:

dom

Les nœuds sont sous la forme d'une structure d'arbres Mémoire: il occupe plus de mémoire, DOM n'est préféré que dans le cas de petits documents XML. Plus lent au runtime Stocké comme un objet PROGRAMMATIVE facile à mettre en œuvre Facilité de navigation et d'utilisation.

saxo

Séquence des événements Il n'utilise aucune mémoire préférée pour les gros documents. Plus rapide au moment de l'exécution, à cause du point mentionné ci-dessus. Les objets doivent être créés. Besoin d'écrire du code pour créer des objets Dans la navigation en arrière Sax n'est pas possible car elle traite séquentiellement le document

Donc, si vous avez des fichiers très volumineux, vous devez utiliser SAX Parser car il incendiera des événements et les libérera, rien n'est stocké en mémoire et utilisera un analgésique SAX, vous ne pouvez pas accéder à l'élément de 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 elle conserve l'ensemble du fichier / document en mémoire.

Voir ce article et vous pouvez obtenir ce que vous voulez en lisant le résumé .

Vérifiez également ce Lien pour afficher la performance de différents analyseurs XML

Entrez la description de l'image ici


0 commentaires

2
votes

dom

Les nœuds sont sous la forme d'une structure d'arbres Mémoire: Il occupe plus de mémoire, DOM n'est préféré que dans le cas de petits documents XML..Sturer l'ensemble du document XML dans la mémoire Befor Traitement Plus lent au runtime Stocké comme un objet PROGRAMMATIVE facile à mettre en œuvre Facilité de navigation et utilisation, peut traverser n'importe quelle direction. Nous pouvons insérer ou supprimer, modifier des nœuds.

SAX: Utilisez lorsque vous souhaitez accéder à XML (NON Alter XML)

Séquence des événements Il n'utilise aucune mémoire préférée pour les grands documents. Ne stocke pas la XML en mémoire avant le traitement. Plus rapide au moment de l'exécution, à cause du point mentionné ci-dessus. Les objets doivent être créés. Besoin d'écrire du code pour créer des objets Dans la navigation en arrière Sax n'est pas possible car elle traite séquentiellement le document, en haut à la traversée inférieure. Nous ne pouvons pas insérer ou supprimer un nœud

XPath: XPath est utile lorsque vous n'avez besoin que de quelques valeurs du document XML et vous savez où les trouver (vous connaissez le chemin des données./root/item/challange/text)

xmlpullparser: Rapide et nécessite moins de mémoire avec DOM

Source: http://www.time2ask.com/ http://www.time2ask.com/android/the-frefrent -AMONG-SAX-PARSERXPATHOMXMLPullparser / _2361836


0 commentaires