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 :

[Compil] parse d'un fichier xml


Sujet :

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

  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 [Compil] parse d'un fichier xml
    Bonjour,
    je suis debutant en JDOM. j'essaye de parcourir un fichier xml (wsdl). mon programme compile mais n'affiche rien. si qqn peut m'aider je serai reconnaissant.
    voici mon fichier xml.
    Code XML : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="PurchaseOrder" 
     targetNamespace="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
     xmlns="http://www.w3.org/2004/08/wsdl"
     xmlns:tns="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:xsd1="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
     xmlns:wssem="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/examples/purchaseOrder.wsdl"
     xmlns:POOntology="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/PurchaseOrder.owl"
     xmlns:Rosetta="http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/ontologies/rosetta.owl">
       <interface name="PurchaseOrder">
               <!--Category is added as an extensible element of an interface-->
               <wssem:category name="Electronics" taxonomyURI="http://www.naics.com/" taxonomyCode="443112" />
               <operation name="processPurchaseOrder" pattern="wsdl:in-out"
                         wssem:modelReference="Rosetta:RequestPurchaseOrder" >
                 <input messageLabel ="processPurchaseOrderRequest"
                 element="tns:processPurchaseOrderRequest"/> 
                 <output messageLabel ="processPurchaseOrderResponse"
                 element="processPurchaseOrderResponse"/>
               <!--Precondition and effect are added as extensible elements on an operation-->
               <wssem:precondition name="ExistingAcctPrecond"
               wssem:modelReference="POOntology#AccountExists"/>
               <wssem:effect name="ItemReservedEffect"
               wssem:modelReference="POOntology#ItemReserved"/>
               </operation>
       </interface>
    </definitions>
    et voici mon programme Java qui devrait afficher la liste le nom de l'interface:

    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
    53
    54
    55
    56
    57
    package WSDLS;
     
    import java.io.*;
     
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.filter.*;
    import java.util.List;
    import java.util.Iterator;
     
    public class Wsdlparser {
     
    	static org.jdom.Document document;
    	static Element racine;
    	//static Namespace nspace =Namespace.getNamespace("http://www.w3.org/2004/08/wsdl");
     
    	   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("Exercice.xml"));
    	      }
    	      catch(Exception e){}
     
    	      //On initialise un nouvel élément racine avec l'élément racine du document.
     
    	         racine = document.getRootElement();
     
    	      //Méthode définie dans la partie 3.2. de cet article
    	      afficheALL();
    	   }
     
     
    	    static void afficheALL()
    	    {
    	    	//On crée une List contenant tous les noeuds "etudiant" de l'Element racine
    		List listEtudiants = racine.getChildren("interface");
     
    		//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
    			//pouvoir utiliser les méthodes propres aux Element comme :
    			//selectionner un noeud fils, modifier du texte, etc...
    			Element courant = (Element)i.next();
    			//On affiche le nom de l'element courant
    			System.out.println(courant.getAttributeValue("name"));
    			System.out.println(courant.getChild("operation").getText());
    		    }
    	    }
     
    }
    Sinon est ce que qqn connait une API pour manipuler des fichier WSDL-S
    merci bcp

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Si tu n'as rien qui s'affiche, c'est très certainement qu'une exception est lancée, et comme tu ne fais rien en cas d'exception (ce qui est très mauvais), tu ne vois rien.

    Il faut mettre ton catch ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    catch(Exception e){e.printStackTrace();}

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Un autre moyen de voir si ca fonctionne est d'utiliser des System.out.println() (le débuggeur du pauvre) pour voir où s'arrête ton prog... et donc ou il plante !

Discussions similaires

  1. [XML] Parsing d'un fichier XML grâce à un fichier XSD
    Par oxomichael dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 09/07/2009, 15h29
  2. Parsing et modification fichier xml
    Par Premium dans le forum Modules
    Réponses: 2
    Dernier message: 02/12/2008, 15h49
  3. 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
  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