cs_RvaN
Messages postés4Date d'inscriptionmardi 2 décembre 2003StatutMembreDernière intervention 1 février 2007
-
13 oct. 2006 à 11:02
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 2013
-
13 oct. 2006 à 16:38
Bonjour à tous,
Je suis en train de développer une application en JAVA utilisant le modèle 3-tiers. Mon but est de mettre à jour une base de données à partir d'un fichier xml. Lors de la lecture du fichier XML, le DAO crée un object de valeur pour mon application.
Je suis aujourd'hui en train d'étudier la partie XML et je suis à la recherche d'un parser XML.
Après quelques recherches sur le net, j'ai trouvé 2 parsers :
- SAX
- DOM
Je ne sais lequel choisir. DOM est lent mais une fois lue, crée une arborescence très pratique à ce que j'ai pu comprendre alors que SAX est plus rapide mais est de type évènementiel.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 13 oct. 2006 à 11:29
Perso, j'utilise DOM, qui est vraiment très simple à utiliser, et apporte une approche hiérarchie du fichier xml : les objets sont emboîté les uns dans les autres.
Niveau rapidité, je ne peux pas te dire, je ne travaille que sur de tout petit fichier xml d'au plus 500 Ko. Ce n'est pas très représentatif bien évidement, mais la rapidité est largement suffisante sur d'aussi petits fichiers. Après, sur des gros, je ne peux pas te dire.
Il parse d'un coup tout le fichier, et tu peux récupèrer les éléments qui t'interesse. Je pense qu'il est parfaitement adapté à l'utilisation que tu veux en faire. Par contre, c'est vrai qu'il a la réputation d'être moins rapide que SAX... à tester !
SAX lui par contre, après les quelques tests que j'en ai fait, est plus compliqué à utilisé, et fait une lecture séquentielle du fichier en déclenchant des événements dès qu'une balise est lue. Pratique pour lire un fichier du début à la fin, mais je ne pense pas qu'il soit adapté à ce que tu cherche à faire (base de données basée sur XML).
J'ai des petits fichiers de l'odre de 100 Ko. Je dois lire mon fichier du début jusqu'à la fin car je dois traiter tout mon fichier. Toutes les informations contenues dans mon fichier seront utilisées. De plus, je dois crée moi même des objects de valeurs qui contiendront les informations de mon fichiers XML.
Je pense donc que le parser SAX est le plus adapté. Vous en pensez quoi?
JBAware
Messages postés174Date d'inscriptionlundi 23 septembre 2002StatutMembreDernière intervention 6 avril 20111 13 oct. 2006 à 12:01
Salut.
Sur des fichiers aussi petits Dom sera largement suffisant. Tu parses, récupères tes objets et les traites.
Pour tes objets de valeurs, une fois qu'ils sont créés, que ce soit un parser ou un autre cela à peu d'importance. Maintenant c'est aussi à toi de voir avec lequel tu te sentiras plus à l'aise dans l'implementation.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 13 oct. 2006 à 16:38
Salut :
SAX est plus efficace, vu que DOM créer toute l'arborescence du fichier XML dans la mémoire et pour un fichier XML de bonne taille ça risque de nuir au performance de l'application.