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 :

Choisir son API XML ?


Sujet :

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

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 343
    Points : 124
    Points
    124
    Par défaut Choisir son API XML ?
    Bonjour,

    Je veux faire un petit logiciel très bete, mais j'aurais besoin de lire et écrire dans un fichier XML. Je commence donc à étudier les possibilités qu'il s'offre à moi, mais malheureusement je vois qu'il en existe plusieurs...
    - L'API JCOM
    - JAXP
    - SAX
    ...

    Bref je ne sais donc sur quoi me diriger en premier !! Pouvez vous me conseiller sur qu'elle API choisir !
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 77
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Deux courants s'opposent dans la manipulation de fichiers XML : DOM et SAX. Le premier permet de charger en mémoire le fichier XML sous forme d'arbres. Tu peux le parcourir à ta guise pour en lire les attributs. Le second te permet de lire TAG après TAG un fichier XML et pour chaque TAG de connaitre les attributs.

    L'avantage du 1er réside dans le fait que tout est chargé en mémoire. Ce qui signifie que tu peux passer d'un TAG XML à un autre très éloigné. Son inconvénient est que si ton fichier est gros, tu vas charger beaucoup en mémoire.

    L'avantage du second réside dans sa capacité à lire de gros fichiers puisque tu ne charges en mémoires que le TAG courant. L'inconvénient c'est que tu n'as pas accès aux autres TAG pendant la lecture d'un TAG.

    Maintenant, tu connais les questions à te poser pour savoir quelle solution adoptée. De manière générale le parsing SAX est plus difficile à réaliser, mais plus performant.

    D'autres complèteront peut etre pour te proposer d'autres approches, mais tu as les deux principales.

  3. #3
    oca
    oca est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    354
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2004
    Messages : 354
    Points : 421
    Points
    421
    Par défaut
    Je vois que tu veux lire et ecrire des fichiers xml...
    c'est pour faire de la persistance de données de ton application ?
    Si c'est le cas, il y a des outils, comme castor par exemple, qui permettent de lire ou d'écrire des objets
    java sous forme de fichiers xml.

    A partir de la version 1.4.2.06 (je crois) tu peux même faire cela avec
    le java "de base" regarde les classes
    java.beans.XMLDecoder
    java.beans.XMLEncoder

  4. #4
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut Re: XML
    Citation Envoyé par laclac
    Bref je ne sais donc sur quoi me diriger en premier !! Pouvez vous me conseiller sur qu'elle API choisir !
    • SAX : API de bas niveau evenementiel : c'est pas facile à utiliser, mais ça permet de traiter des très gros fichiers XML (c'est son avantage principal).
    • DOM : API du W3C permettant de visualiser un doc XML sous forme d'arbre. Se charge en mémoire, donc problème pour les trops gros documents. La syntaxe est pas facile.
    • JDom : API Java (maintenant portée sur d'autres langages) : concurrente directe du DOM, elle part sur les mêmes principes, en utilisant une syntaxe beaucoup plus simple et intuitive.
    • Commons-Digester : API de haut niveau permettant de mettre un fichier XML sous forme d'objets Java.


    Voila pour celles que je connais. Globalement, SAX est de bas niveau, DOM et JDOM niveau intermédiaire, et les autres (donc commons-digester, JAXP) s'appuye à leur tour sur les normes précédentes pour monter encore le niveau.

Discussions similaires

  1. Choisir son mode d'impression en JavaScript
    Par regisba dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/09/2006, 17h24
  2. Choisir son hébergeur pour du PHP
    Par nebil dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2006, 11h01
  3. Réponses: 20
    Dernier message: 04/04/2006, 08h16
  4. [Xml/Xsd]valider son fichier Xml avec un schéma xsd
    Par ePoX dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2006, 22h30
  5. Réponses: 4
    Dernier message: 22/01/2004, 08h27

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