IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

[JAVA/XML] Quelle API choisir ?


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 352
    Points
    4 352
    Par défaut [JAVA/XML] Quelle API choisir ?
    Bonjour,

    je dois coder un programme, qui accèderait à des données enregistrées dans des fichiers XML, et je cherche quelle API est la plus appropriée.

    Voilà mes besoins :
    • Peu gourmande en ressources mémoire
    • Possibilité de modifier le fichier XML lu
    • Possibilité d'accéder à un élément précis du fichier, sans charger le fichier complet en mémoire


    A ce que j'en ai vu en lisant les tutoriaux du site, JDom est pratique, mais charge tout le fichier.
    Sax a l'air très verbeux et très (trop?) simpliste.
    Stax a l'air mieux que les précédents, mais ne permet pas de revenir en arrière dans le fichier.

    Bref, est-ce que j'ai bon dans ce que j'ai lu, et est-ce que vous pourriez m'aider à choisir l'API à utiliser ?

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Citation Envoyé par ManusDei Voir le message
    Possibilité de modifier le fichier XML lu
    On ne peut pas modifier à la volée un fichier à champs variables. (Cela inclut XML, et à peu près tout ce qui n'a pas de limite arbitraire.)
    Il faut soit le charger en mémoire et le réécrire, soit écrire à la volée un nouveau fichier temporaire, et écraser le fichier d'origine avec quand on a fini.

    Citation Envoyé par ManusDei Voir le message
    A ce que j'en ai vu en lisant les tutoriaux du site, JDom est pratique, mais charge tout le fichier.
    Yup. À éviter pour les fichiers vraiment trop gros ou si beaucoup de fichiers assez gros sont traités en même temps.

    Citation Envoyé par ManusDei Voir le message
    Sax a l'air très verbeux et très (trop?) simpliste.
    Yup. C'est la base de la base. On lui préfère souvent StAX.

    Citation Envoyé par ManusDei Voir le message
    Stax a l'air mieux que les précédents, mais ne permet pas de revenir en arrière dans le fichier.
    À ma connaissance rien ne permet de "revenir en arrière".
    Avec JDOM le problème ne se pose pas.
    Avec SAX/StAX, rien n'empêche de reparcourir le fichier à la recherche d'un élément dont on vient d'avoir la référence...

    Citation Envoyé par ManusDei Voir le message
    Bref, est-ce que j'ai bon dans ce que j'ai lu, et est-ce que vous pourriez m'aider à choisir l'API à utiliser ?
    SAX ou StAX. Légère préférence pour StAX.

  3. #3
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 352
    Points
    4 352
    Par défaut
    Citation Envoyé par thelvin Voir le message
    À ma connaissance rien ne permet de "revenir en arrière".
    Avec SAX/StAX, rien n'empêche de reparcourir le fichier à la recherche d'un élément dont on vient d'avoir la référence...
    Oui, en fait ce à quoi je pensais, c'est plutôt est-ce qu'il est nécessaire de fermer le fichier, d'ouvrir le fichier, ou est-ce qu'on peut simplement repositionner le curseur sur la tête du fichier ?


    Merci pour le reste de la réponse, ça va sentir le StAX on dirait.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 561
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 561
    Points : 21 624
    Points
    21 624
    Par défaut
    Il faudrait que je vérifie, mais il me semble qu'il est inutile de fermer le fichier. Il suffit d'appeler une méthode qui va elle aussi ouvrir le même fichier et le commencer du début, mais dont le but sera de chercher... L'élément cherché.

  5. #5
    Expert confirmé Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 619
    Points : 4 352
    Points
    4 352
    Par défaut
    J'ai plus qu'à faire une démonstration de StAx pour convaincre de sa supériorité dans ce cas précis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle API choisir ?
    Par ManusDei dans le forum XML
    Réponses: 2
    Dernier message: 18/07/2010, 10h50
  2. Client d'appel SOAP : quelle API choisir ?
    Par g_rare dans le forum Services Web
    Réponses: 8
    Dernier message: 09/07/2007, 18h13
  3. [J2EE] quelle API pour Excel choisir ?
    Par vallica dans le forum Documents
    Réponses: 4
    Dernier message: 19/04/2006, 14h24
  4. [Sondage][XML-JAVA]Qu'elle API choisir?
    Par Janitrix dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 18/04/2006, 13h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo