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 :

Aide Pour Parser XML JAVA


Sujet :

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

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 277
    Points : 126
    Points
    126
    Par défaut Aide Pour Parser XML JAVA
    Bonjour,

    j'ai un soucis, je voudrais parser un fichier XML qui a cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
     
    <questionnaire>
        <question numero="1">
            <value>quel est la couleur de mon xperia Z</value>
        </question>
        <reponse numQ="1">
            <value vrai="false" id="1">bleu</value>
            <value vrai="false" id="2">vert</value>
            <value vrai="true" id="3">noir</value>
            <value vrai="false" id="4">rouge</value>
        </reponse>
     
    </questionnaire>
    Hors je n'ai jamais fait de parser XML et je suis perdu même en regardant des exemples il y a toujours des différences avec ce que je veux et je me perds

    Je pense devoir utiliser SAX vue que je veux un parcours séquentiels. (gain de mémoire)

    Je ne comprends pas comment à partir d'un éléments racine ici Questionnaire (je pense...) puis deux sous balises ( les childrens je pense ... ) comment on fait apres pour évaluer les <value> et la valeur de "vrai" ...

    Mon but final étant de vouloir simplement récupérer toutes les valeurs en objet afin de pouvoir les traiter dans mon programme JAVA.

    Je suis perdu.

    Pouvez vous m'aider ? SVP

  2. #2
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    En Java : essaie des librairies comme XStream !
    http://xstream.codehaus.org/

    Ca serialise / deserialise ton arborescence objet en XML ! Exactement ce que tu veux, et c'est extrêmement bien architecturé : soit par annotation soit en mode non intrusif, en alimentant une map.... Que du bonheur.....

    Un peu lourd toutefois sur Android ! Mais ça marche quand même.

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Si tu veux faire de la transformation xml -> Object, utilise jaxb. Contrairement à l'article mentionné plus haut, tu n'a plus besoin de l'inclure en tant que librairie externe, c'est intégré à java.


    Si tu veux parser le xml, je te conseille plutot pour commencer d'utiliser StAX plutot que SAX. Ca lit aussi en flux, a la différence que c'est ton programme qui contrôle le débit et ce qu'il faut lire, alors qu'avec SAX, c'est à toi de réagir en fonction des évènements. C'est plus conviviale, je trouve, pour débuter

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804

  6. #6
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Si tu veux faire de la transformation xml -> Object, utilise jaxb. Contrairement à l'article mentionné plus haut, tu n'a plus besoin de l'inclure en tant que librairie externe, c'est intégré à java.


    Si tu veux parser le xml, je te conseille plutot pour commencer d'utiliser StAX plutot que SAX. Ca lit aussi en flux, a la différence que c'est ton programme qui contrôle le débit et ce qu'il faut lire, alors qu'avec SAX, c'est à toi de réagir en fonction des évènements. C'est plus conviviale, je trouve, pour débuter
    Ca, c'est imparable comme argument !
    Out of the shell, je l'ignorai, merci m'sieur

  7. #7
    Rédacteur
    Avatar de CyaNnOrangehead
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2008
    Messages : 777
    Points : 1 731
    Points
    1 731
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Tien, ça me fait penser qu'on pourrais imaginer une petite librairie fonctionnel pour parser du XML à grand coup de map / filter / fold.
    Ca me fait penser à du XSLT, mais en plus lisible.

Discussions similaires

  1. Aide pour parser fichier XML
    Par kinder540 dans le forum Général Python
    Réponses: 9
    Dernier message: 08/01/2014, 16h13
  2. Est-ce que la Structure de fichier XML est bon pour parser en JAVA
    Par maydenec dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 16/03/2011, 13h21
  3. Réponses: 5
    Dernier message: 19/10/2008, 18h33
  4. Réponses: 1
    Dernier message: 09/10/2007, 19h31

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