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 :

Parser un document xml a partir d'un chemin [DOM4J]


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
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut Parser un document xml a partir d'un chemin
    Bonjour,
    je souhaite parser un document Xml a partir d'un chemin saisie dans une zone de texte.
    Je m'explique:
    Quand je lance mon programme j'ai une zone de texte ou je met le chemin du fichier que je eux parser, quand je clique sur un des bouton une fenêtre de dialogue s'ouvre et si je clique sur ok cela doit m'afficher "Document parser"
    Mais je n'arrive pas a parser le document a partir de la récupération du chemin de la zone de texte.
    Voici ma vue :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    btn1.addSelectionListener(new SelectionAdapter(){
     
    			@Override
    			public void widgetSelected(SelectionEvent event) {
     
    		    	  configure.Searchfile.startpoint = txt1.getText();
    		    	  File f = new File(configure.Searchfile.startpoint);
    		    	  configure.Searchfile.listeRepertoire(f);
    		    	  int reponse = 0;
     
     
    		    	  //compositeConnection.setVisible(true);
     
    		  		Dialogue inputDialog = new Dialogue(Display.getCurrent().getActiveShell());
     
     
    		    	  if (inputDialog.open() == inputDialog.OK) {
    		    		  //System.out.println("Valeur saisie = " + inputDialog.getValue());
    		    		  try {
    		    			  String chemin = configure.Searchfile.startpoint;
    		    			  //File p = new File(configure.Searchfile.startpoint);
    						Parse.analys(chemin);
    						System.out.println("Document analysé");
    					} catch (DocumentException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
     
    					}
    		    	  } else {
    		    		  //System.out.println("Operation annulée");
    		    	  	}
    			}
     
    	    });
    Et voici mon code pour parser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Parse {
     
    	public Document analys (URL url) throws DocumentException { 
    	SAXReader reader=new SAXReader();
    	Document doc=reader.read(url);
    	Element root = doc.getRootElement();
    	//root.addAttribute(....);
    	return doc;
    	}
    }
    Merci, Bonne journée

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Bon alors il m'affiche bien "Document parser" a la in du programme mais je ne sais pas si il analyse le bon fichier et si il l'analyse vraiment !!
    Alors comment savoir si c'est le bon fichier et qu'il a vraiment été parsé ??
    Code de ma vue:
    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
    26
    27
    btn1.addSelectionListener(new SelectionAdapter(){
     
    			@Override
    			public void widgetSelected(SelectionEvent event) {
     
    		    	  configure.Searchfile.startpoint = txt1.getText();
    		    	  File f = new File(configure.Searchfile.startpoint);
    		    	  configure.Searchfile.listeRepertoire(f);
    		    	  int reponse = 0;
     
     
    		    	  //compositeConnection.setVisible(true);
     
    		  		Dialogue inputDialog = new Dialogue(Display.getCurrent().getActiveShell());
     
     
    		    	  if (inputDialog.open() == inputDialog.OK) {
    		    		  String chemin = configure.Searchfile.startpoint;
    					  File p = new File(configure.Searchfile.startpoint);
    					Parse.analys(p);
    					System.out.println("Document analysé");
    		    	  } else {
    		    		  //System.out.println("Operation annulée");
    		    	  	}
    			}
     
    	    });
    Code pour parser :
    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
    public class Parse {
     
    	public Document analys (String p) throws DocumentException { 
    	SAXReader reader=new SAXReader();
    	Document doc=reader.read(new File(p));
    	Element root = doc.getRootElement();
    	//root.addAttribute(....);
    	return doc;
    	}
     
    	public static void analys(File p) {
    		// TODO Auto-generated method stub
     
    	}
    }

  3. #3
    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
    Apres :
    Element root = doc.getRootElement();
    tu peux faire un :
    System.out.println(root.getTagName());

    Sinon, il y a pas de raison que ce soit le mauvais fichier qui soit lu.
    Si le fichier xml lu était mal formé, java lancerait une exception.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Bonjour,
    Merci pour ta réponse !
    J'ai mis la ligne que tu ma écrite.
    Le soucis c'est que mon programme de passe pas par ma methode Parse.
    En debug le programme passe sur mes ligne d'appel mais sans rien faire...(utile)

    Classe Parse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Document analys (String p) throws DocumentException { 
    			SAXReader reader=new SAXReader();
    			Document doc=reader.read(new File(p));
    			Element root = doc.getRootElement();
    			System.out.println(root.getName());
    			//root.addAttribute(....);
    			return doc;
    			}
     
    			public static void analys(File p) {
    				// TODO Auto-generated method stub
     
    			}
    Appel de la méthode :
    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
     
    configure.Searchfile.startpoint = txt1.getText();
    		    	  File f = new File(configure.Searchfile.startpoint);
     
    		    	  List<File> files = configure.Searchfile.listeRepertoire(f);
    		    	  for (File fi : files){
     
    		    		  try {
    		    			  content = configure.Readfile.Readfilefich(fi);		    			 
    		    			  bpm.dom4j.Parse p = new bpm.dom4j.Parse();
    			    			Parse.analys(fi);
    		    		  } catch (IOException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    		    		  }	
    		    		  System.out.println("Chemin fichier :" + fi.getAbsolutePath());
    		    	  }
    Si tu as une petite idée de ce qui ne va pas...: )
    Merci.
    Bonne journée !

  5. #5
    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
    Ah oui, j'ai compris le pb :
    Ta classe Parse contient une méthode analys statique qui ne fait rien et prend un fichier en entrée une méthode d'instance qui prend une String en entrée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static Document analys (String p) throws DocumentException { 
    	return analys(new File(p));
    }
     
    public static Document analys(File p) throws DocumentException {
    	SAXReader reader=new SAXReader();
    	Document doc=reader.read(p);
    	Element root = doc.getRootElement();
    	System.out.println(root.getName());
    	//root.addAttribute(....);
    	return doc;
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Mon problème est résolue je te remercie : )
    Ca m'affiche bien les document a analyser et les GetRootElement =)
    Merci beaucoup !!!

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

Discussions similaires

  1. [DOM4J] Parser un document XML avec DOM
    Par kroax dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/11/2007, 01h48
  2. [SimpleXML] parser un document xml distant
    Par turican2 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 22/05/2007, 15h18
  3. [SAX] Document XML a partir d'un fichier hbm.xml
    Par lapin_hobbit dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 03/11/2006, 14h16
  4. Générer un document xml vide à partir d'un schema xsd
    Par Emplyst dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 16/08/2006, 19h03
  5. Parser mon document XML.
    Par Bruno13 dans le forum Langage
    Réponses: 3
    Dernier message: 28/01/2006, 14h30

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