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 :

Parsing d'un fichier xml ayant 2 racines.


Sujet :

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

  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Par défaut Parsing d'un fichier xml ayant 2 racines.
    Bonjour,

    J'ai utilisé ce Tutorial pour parser un fichier xml : http://cynober.developpez.com/tutoriel/java/xml/jdom/

    Mais le problème est que mon fichier xml n'a pas la même forme que celle dans le tutoriel. Mon fichier est sous la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      <?xml version="1.0" encoding="UTF-8"?>
       <pnml>
       <net>
       <transition>
        ...................
       </transition>
       <transition>
       ...................
       </transition>
       </net>
      </pnml>
    Et j'ai proposé un code mais ça n'a pas fonctionné:
    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
    35
    36
    37
    38
    39
    public class Transformer
    {
    	static org.jdom.Document document;
    	static Element racine;
        static void afficheALL()
    	   {
     
    	      List list1 = racine.getChildren("pnml");
    	      Iterator i = list1.iterator();
    	      while(i.hasNext())
    	      {	    	
    	    	   List list2 = racine.getChildren("net");
    	    	   Iterator i1 = list2.iterator();
    	    	   while (i1.hasNext())
    	    	   {
    	    		      Element courant = (Element)i.next();
    	                  System.out.println(courant.getChild("transition").getText());    
    	    	   }
     
    	       }
     
    	 }
     
    	   public static void main(String[] args)
    	   {
    		      SAXBuilder sxb = new SAXBuilder();
    		      try
    		      {
    		         document = sxb.build(new File("D:/buffer.xml"));
    		      }
    		      catch(Exception e){}
     
    		      racine = document.getRootElement();
     
    		      afficheALL();
     
    	   }
     
    }
    Mon but est de retourner les données dans la balise transition et voyons que cette balise est sous 2 racines(pnml et net).
    Alors comment sera mon code pour afficher la valeur des transitions?
    Aidez moi svp et Merci

  2. #2
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Par défaut
    Ça affiche quoi ?
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Voir les commentaires
    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
    List list1 = racine.getChildren("pnml");
    	      Iterator i = list1.iterator();
    	      while(i.hasNext())
    	      {	    	
    	    	   //List list2 = racine.getChildren("net"); 
                       // net doit être cherché dans pnml pas dans racine
                       List list2 = i.next().getChildren("net"); 
    	    	   Iterator i1 = list2.iterator();
    	    	   while (i1.hasNext())
    	    	   {
                                  //Element courant = (Element)i.next();
                                  // courant doit être pris dans i1 et pas dans i
    	    		      Element courant = (Element)i1.next();
    	                  System.out.println(courant.getChild("transition").getText());    
    	    	   }
     
    	       }

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    De toute façon, dans l'exemple donné, <pnml> est la racine, on ne peut pas l'obtenir avec getChildren() sur lui-même -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Parsing et modification fichier xml
    Par Premium dans le forum Modules
    Réponses: 2
    Dernier message: 02/12/2008, 15h49
  2. faire un logiciel qui fait parsing d'un fichier xml existant sur le serveur
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/08/2007, 12h09
  3. [JDOM] [Compil] parse d'un fichier xml
    Par ammah dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 13/06/2006, 17h34
  4. Réponses: 3
    Dernier message: 16/02/2006, 18h38
  5. [DOM] Erreur lors du parsing d'un fichier XML par l'API DOM
    Par patricetoan dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 26/09/2005, 12h43

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