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 :

[ Digester ] parse structure simple


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é
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut [ Digester ] parse structure simple
    Salut,

    je cherche à parser une structure xml simple du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <user_data>
    		<user>toto</user>
    		<player_id>1</player_id>
    		<team_id>372</team_id>
    		<last_login>0</last_login>
    		<fs_fan>0</fs_fan>
    </user_data>
    Pour cela j'utilise Digester avec un fichier XML_FILE_DEF.xml (contenant la structure à mapper dans une classe Java) et DIGESTER_FILE_RULES.xml (decrivant les regles de mapping entre XML et JAVA).

    J'ai créer un bean User avec les attributs suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	private String	user;
    	private String	player_id;
    	private String	team_id;
    	private String	last_login;
    	private String	fs_fan;
    Comme cela je respecte la structure XML.

    voici mon DIGESTER_FILE_RULES.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <digester-rules>
       <!--                                  -->
       <!--   Creating User                  -->
       <!--                                  -->
    	<object-create-rule    pattern="user_data" classname="User" />
     
          <call-method-rule pattern="user_data/user"          methodname="setUser"               paramcount="0" />
          <call-method-rule pattern="user_data/player_id"     methodname="setPlayer_id"          paramcount="0" />
          <call-method-rule pattern="user_data/team_id"       methodname="setTeam_id"            paramcount="0" />
          <call-method-rule pattern="user_data/last_login"    methodname="setLast_login"         paramcount="0" />
          <call-method-rule pattern="user_data/fs_fan"        methodname="setFs_fan"             paramcount="0" />
     
       </pattern>
     
     
    </digester-rules>

    Voici la methode qui est censée me renvoyer la réference de User :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    public Object getObject()
    	{
    		Object 			object		=	null;
    		Digester 		digester	=	null;
    		//MyErrorHandler 	eh 		= 	new MyErrorHandler();
     
    		try {
    			digester 	= DigesterLoader.createDigester(this.digesterFileRules.toURL());
    			//digester.setErrorHandler(eh);
    			object 		= digester.parse(this.xmlFileDef);
     
    			logger.info("mapping digester XML/JAVA ok");
    		} 
    		catch (MalformedURLException e) {
    			logger.error("MalformedURLException", e);
    		} 
    		catch (IOException e) {
    			logger.error("IOException", e);
    		} 
    		catch (SAXException e) {
    			logger.error("SAXException", e);
    		}
     
    		return object;
    	}
    Aucune erreur n'est signalée, par contre la réference est null.
    je crois que c'est mon fichier DIGESTER_FILE_RULES.xml qui est mal écrit.
    J'ai remarqué que les tutorials charge des fichiers avec un premier objet qui contient un ensemble de d'objets dans des listes...
    Dans mon cas je ne souhaite charger qu'un objet, est ce la raison cette reference null ????

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Je pense que la balise est en trop.

    Est-ce que tu as quelque chose dans tes fichiers logs?

    a+

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    Merci beaucoup de ton oeil avisé

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

Discussions similaires

  1. structures simples : services or not services
    Par germinolegrand dans le forum C++
    Réponses: 95
    Dernier message: 05/04/2013, 10h01
  2. [Débutants]Analyse structure base de données simple
    Par Serge57 dans le forum Sondages et Débats
    Réponses: 41
    Dernier message: 29/10/2007, 18h54
  3. Réponses: 2
    Dernier message: 23/06/2006, 14h16
  4. Parsing et structuration d'adresses
    Par webspeak dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 07/06/2006, 18h19
  5. Probleme taille structure / parsing tag mp3
    Par lucas_sophia dans le forum C
    Réponses: 6
    Dernier message: 19/03/2006, 16h56

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