mercredi 8 mai 2019

Type des processeur(Parssseur ) XML avec exmple pour Java DOM, Sax, Jaxb


  • Tree-based  : représente le document XML en entier comme un arbre d'objet en mémoire
    • l’avantage est de pouvoir traverser l'arbre dans les deux sens, facile à utiliser avec XPath pour la recherche  du contenu à l’intérieur du document.
    • L’inconvénient est le besoin d’utiliser plus de mémoire.
  • Streaming : traite un seul nœud de l'arbre à la fois, soit pour la construction ou le parsing de XML, contient deux types de processeur : pull (comme StaX)et push (comme Sax).
    • l’avantage est qu'il très rapide
    • L’inconvénient : le document XML n'est pas stocker en mémoire donc, pas de possibilité de faire la recherche de contenu avec Xpath.
    • Sax fait de la lecture seul, donc sait uniquement comment lire de l'XML, mais pas comment le créer.
  • Binding Style : ressemble au DOM-Style, il stock tous les données en mémoire en même temps. Comme JAXB
    • Pour les développement, il faut ajouter des annotations au niveau des POJOs, pour indiquer quelle propriétés ou champs sera mapper la structure du fichier XML.
    • Facilite la sérialisation et deserialisation du contenu 
    • Facile à maintenir 
  • JAXP : Java API for XML Processing
  • XStream : Se base sur DOM ou Sax, utile pour la sérialisation de XML.

Sax vs DOM : 
Sax peut démarrer le traitement avant que le document entier ne soit disponible.
Il ne peut pas faire de backward en arrière pour relire les données qu'il a traitées, à moins de tout recommencer.

Aucun commentaire:

Enregistrer un commentaire

to criticize, to improve