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 :

pb de parsing [JDOM]


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
    Juin 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut pb de parsing
    Bonjour,
    J'ai creé une classe pour parser des fichiers XML (ma classe s'appele WsdlsParser). Mon parser prend en paramètre le chemin vers le fichier à parser et il fonctionne sans problème. cependant, quand j'instancie mon parseur deux fois successives avec deux fichiers différents, il ne prend en compte que le premier fichier. par exempel quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WsdlsParser wsParse = new WsdlsParser(path);
    WsdlsParser wsParse1 = new WsdlsParser(path1);
    le contenu de wsParse1 sera identique à celui de wsParse malgré que path est different de path1

    J'utilise Jdom pour parser mes fichiers

    Merci de votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Il faudrait voir ce qu'il y a dans ton constructeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WsdlsParser wsParse = new WsdlsParser(path);
    Tu pouurais nous donner le code pour qu'on puisse t'aider?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut
    voici le code de mon constructeur. Mais en fait j'ai bcp de classes (une vingtaine) et donc je nepeux pas tous mettre dans le forum.
    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  WsdlsParser (String path) throws WsdlsParseException, JDOMException, IOException
    	   {
    		//On crée une instance de SAXBuilder	
    		SAXBuilder sxb = new SAXBuilder();
    		String Name;
    		try
    		{  
    			//On crée un nouveau document JDOM avec en argument le fichier XML
    			//Le parsing est terminé ;)
    			document = sxb.build(new File(path));
    			//On initialise un nouvel élément racine avec l'élément racine du document.
     
    			root = document.getRootElement();
    			Name = root.getAttributeValue("name");
    	      }
    	      catch( java.net.ConnectException ce){
     
    	    		throw new WsdlsParseException("A remote WSDL file could not be opened.\n." +
    	    				ce.getMessage());
    	      }
    	      definition = new Definition();
     
    	      definition.setName(Name);
    	      setDefinition();
    	   }
    et voici ma méthode setDefinition
    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
    private void setDefinition () 
    	{		    
    		List listInterfaces = root.getChildren("interface", root.getNamespace());
     
    		Iterator i = listInterfaces.iterator();
     
    		AddNamespaces(root);
    		AddTypes(root);	
    		while(i.hasNext())
    		{
    			//On recrée l'Element courant à chaque tour de boucle afin de
    			//pouvoir utiliser les méthodes propres aux Element comme :
    			Element courant = (Element)i.next();
    			AddOperations (courant);	
    		}
     
    	} //setDefinition()

    En effet, ce qui m'intrigue est que quand je donne à mon parseur un fichier ça marche et quand je lui donne 2 fichiers differents il ne prend en compte qu'1 seule; le premier. je ne sais pas si le pb est lié à Jdom

  4. #4
    Membre éprouvé Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Par défaut
    Est ce que tu ne stockerais pas ton document dans une variable statique ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 102
    Par défaut
    Non. voici comment j'ai declaré mon document à l'interieur de la classe WsdlsParser
    private org.jdom.Document document;
    private Element root;
    private Definition definition;

    donc je ne ldeclare pas static

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2006
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 895
    Par défaut
    Comment tu fais pour voir les résultats de ton parsing?

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

Discussions similaires

  1. Probleme de parsing de chaine, tronquer une chaine
    Par Voodo'o_d'ool dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/08/2008, 11h28
  2. Parsing et caractères spéciaux
    Par Shogun dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/10/2004, 17h43
  3. Réponses: 14
    Dernier message: 25/10/2004, 21h33
  4. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36
  5. [XML] Améliorer le parsing
    Par GLDavid dans le forum Modules
    Réponses: 3
    Dernier message: 19/07/2004, 16h46

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