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 :

Jdom ou SAX?


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 84
    Par défaut Jdom ou SAX?
    Bonjour,

    Pour un projet j'ai besoin de lire (générer et écrire aussi) un fichier XML dont la structure est figé.

    Pour ce faire j'utilise l'API Jdom (voir fichier ci joint). cela marche très bien. Sauf qu'un des keywords du fichier peut contenir une grande quantité de donnée (> 100Mo), le reste du fichier ne dépassant pas qqKo.

    Ce fichier XML sert à stocker des données de mesures. il y a qq keyword pour résumer le setup de mesure et un keyword <data> qui stocke les données.

    le problème avec Jdom c'est qu'il charge tout en mémoire. ce que ne fait pas SAX d'après ce que j'ai lu.

    quelle APi utiliser donc pour générer au mieux mon problème?
    Ce que j'envisage c'est de parser le fichier XML et de charger les "petits" keywords en mémoire. Et pour ce qui concerne le keyword <data>, il sera skipper lors du "parsage" et je le chargerais seulement sur demande pour son traitement.

    quelqu'un à des infos à me donner sur comment faire ceci? avec Jdom? avec SAX?
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Je te conseillerais plutôt Stax : http://hikage.developpez.com/java/articles/xml/stax/#LI

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 84
    Par défaut
    J'ai regardé cette API. elle semble très similaire à SAX et possède en plus un writer.

    Quelqu'un peut me dire les principales différence entre les deux API?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Avec Sax le parser lis tous les elements et te générer des évenement que tu choisi de traiter ou non (approche push).
    Avec Stax tu as le contrôle sur le parsing et peux sauter les éléments qui t'arrangent (approche pull).

Discussions similaires

  1. Votre avis: pour parser XML, la librarie SAX, Dom, JDom ou d'autre librairie
    Par jean1979 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 21/10/2011, 09h36
  2. SAX, Stax et JDOM
    Par sliderman dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 13/01/2008, 21h21
  3. [Conseil][Amélioration]Parser un Document (JDOM) avec SAX
    Par leminipouce dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 19/12/2005, 14h30
  4. [JDOM] Recherche d'éléments en JDOM
    Par newfsch dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 09/04/2004, 18h33
  5. [DOM/SAX]Choix...
    Par miss8 dans le forum APIs
    Réponses: 4
    Dernier message: 17/03/2003, 18h37

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