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 :

Parcourir un fichier xml


Sujet :

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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Turquie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Parcourir un fichier xml
    Hi,
    je suis entrain de parcourir un fichier xml avec Jdom Voila le code de parcourir :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    	import java.io.*;
    	import org.jdom.*;
    	import org.jdom.input.*;
    	import org.jdom.filter.*;
    	import java.util.List;
    	import java.util.Iterator;
     
    	public class PremierJdom {
     
    	   static org.jdom.Document document;
    	   static Element racine;
     
    	   public static void main(String[] args)
    	   {
    	      //On crée une instance de SAXBuilder
    	      SAXBuilder sxb = new SAXBuilder();
    	      try
    	      {
    	         //On crée un nouveau document JDOM avec en argument le fichier XML
    	         //Le parsing est terminé ;)
    	         document = sxb.build(new File("Example.wsdl"));
    	      }
    	      catch(Exception e){}
     
    	      //On initialise un nouvel élément racine avec l'élément racine du document.
    	      racine = document.getRootElement();
    	      //System.out.println(racine.getName());
     
    	      //Méthode définie dans la partie 3.2. de cet article
    	      afficheALL();
    	   }
     
     
    	//Ajouter cette méthodes à la classe JDOM2
    	static void afficheALL()
    	{
    	   //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
    	   List listEtudiants = racine.getChildren("binding");
     
    	   //On crée un Iterator sur notre liste
    	   Iterator i = listEtudiants.iterator();
    	   while(i.hasNext())
    	   {
    	      //On recrée l'Element courant à chaque tour de boucle afin de
     
    	      Element courant = (Element)i.next();
    	      //On affiche le nom de l’élément courant
    	      System.out.println(courant.getAttributeValue("name"));
     
    	   }
    	}
    	}
    Mais le pribeleme que se pose ici est que lorsqe j'execute cette classe j'aurai aucun sortie.
    et voila le fichier Example.wsdl
    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
    <?xml version="1.0"  encoding= "UTF-8" ?> 
    <definitions name= "Web Service Mediation"
     targetNamespace="http://these-info.univ-tun.com/Web Service Mediation " 
    xmlns=" http://these-info.univ-tun.comstem online"
       xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"  > 
     
      <binding name="ConnTWSAlt" type="wsdlns:SimplePortType">
    <soap:binding style="rpc" 
     transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="foo">
    <soap:operation soapAction="http://tempuri.org/action/binding.ConnTWSAlt"/>
    <input>
    <soap:body use="encoded"  
     encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output>
    <soap:body use="encoded" 
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </output>
    </operation>
    </binding> 
    </definitions>
    Quelqu'un saurait il m'indiquer comment corriger cette erreur .
    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    1. On n'écrit jamais de catch "vide". Au moins on trace l'exception :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      catch(Exception e){
         e.printStackTrace();
      }
      Ce qui t'aurait permis de voir qu'il y a une erreur dans l'url du namespace "http://these-info.univ-tun.comstem online" : il faut supprimer l'espace au début.
    2. Ensuite l'élément binding de ton xml est justement dans ce namespace : il faut donc le prendre en compte dans l'accès aux éléments

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
       
      // récupération du namespace
      Namespace nsTheseInfo = racine.getNamespace("http://these-info.univ-tun.comstem online");
       
      // récupération des enfants de nom binding dans l'espace de nom nsTheseInfo
      List listEtudiants = racine.getChildren("binding", nsTheseInfo);
    3. Tu devrais utiliser JDOM2 au lieu de JDOM
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. parcourir un fichier XML ?
    Par tarekos dans le forum C#
    Réponses: 4
    Dernier message: 15/07/2008, 11h56
  2. parcourir un fichier xml
    Par vanesa dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2008, 15h48
  3. Parcourir un fichier Xml
    Par Kiboumz dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/07/2007, 18h08
  4. [C#] Comment parcourir un fichier Xml ?
    Par Sebsheep dans le forum C#
    Réponses: 4
    Dernier message: 08/09/2006, 23h20
  5. [débutant]Parcourir un fichier XML
    Par Wis dans le forum ASP
    Réponses: 2
    Dernier message: 26/09/2005, 10h04

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