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 fichier xml dans un projet J2EE [JDOM]


Sujet :

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

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Points : 117
    Points
    117
    Par défaut parser un fichier xml dans un projet J2EE
    salut pour tous,

    je travail dans un projet J2EE je veux accéder à un fichier xml (amadeus.xml), j'utilise Jdom. la méthode de pasing est correcte c'est celle du cour http://cynober.developpez.com/tutoriel/java/xml/jdom/.
    le problème quand je fais cette méthode dans mon projet J2ee il ne fait pas le parsing : Code :

    //Code du Bean :

    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
    /**
             * Method to browse travels to cutomer
             */
    	public void findDifferentTravel() {
     
    		// connectToXmlData();
    		SAXBuilder sxb = new SAXBuilder();
    		try {
    			document = sxb.build("amadeus.xml");
    		} catch (Exception e) {
     
    		}
    		rootElement = document.getRootElement();
    		List<Element> traveList = rootElement.getChildren("travel");
    		for (Element cuurentElement : traveList) {
    			if (cuurentElement.getChild("ferry_name").getTextTrim().equals(
    					"ssdc")) {
    				itineraire = cuurentElement.getChild("itinerary").getTextTrim();
    			}
    		}
    	}
    l'instruction : rootElement = document.getRootElement(); ne s'execute pas.

    dans la page mapage.xhtml je veux afficher la valeur de itineraire de la maniére suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{scheduleRequestAction.itineraire}"></h:outputText>
    ==> l'erreur est : l'istruction rootElement = document.getRootElement(); ne passe pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Caused by: java.lang.NullPointerException
    	at de.seetour24.action.ScheduleRequestAction.findDifferentTravel(ScheduleRequestAction.java:149)
    
    
    merci pour votre aides.

  2. #2
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Tu trouves ça étonnant ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
    			document = sxb.build("amadeus.xml");
    		} catch (Exception e) {
     
    		}
    S'il y a une exception dans cette instruction alors tu ne fais rien... Ton erreur est sûrement là. Ajout un e.printStack(); et tu vas voir l'erreur.

    De plus, tu utilises une méthode préhistorique pour parser les fichiers XML, il y a des API mieux que ça : XStream, XmlBean, JAXB.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Points : 117
    Points
    117
    Par défaut Probléme résolut
    Merci bien darkxan le problème est résolut, c'est la méthode e.printStackTrace(); qui m'a afficher l'erreur c'est pas e.printStack();.

    L'erreur c'est que je doit mettre le fichier (amadeus.xml) sous le répertoire D:\rhdevstudio\eclipse .

    vous m'avez dit que la méthode que j'utilise est préhistorique j'utilise JDOM. est ce que avec les API que vous m'avez cité XStream, XmlBean, JAXB est plus facile est mieux ?
    Un question pour tous les membre de de forum :

    Quel est la meilleur API pour parser un fichier xml actuellement ?

    Merci pour vos réponses?

  4. #4
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Ça dépends...

    Si tu as un fichier XSD alors JAXB est je pense le meilleur. A partir du fichier XSD, il te génère les classes et tu n'as rien à faire... L'autre possibilité est d'utiliser XmlBeans.

    Sinon sans schéma, tu peux utiliser XStream qui permet d'utiliser des classes déjà existantes pour parser le fichier XML. Il y a peu de configuration à faire.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Points : 117
    Points
    117
    Par défaut
    thx,
    Moi dans mon application j'ai utiliser JDOM et je le trouve facile à configurer et utiliser.

    quel est son défit d'après vous ?

  6. #6
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    C'est une API 'bas-niveau' : tu dois écrire le parseur. Tandis que dans les API de plus haut niveau, tu n'écris pas le parseur tu récupères juste les valeurs de ton fichier.

    Productivité, simplicité...

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Points : 117
    Points
    117
    Par défaut
    Ok, merci pour vos réponses, je vais essayer de faire des essais d'exemple de parsing sur ces différentes API's.

    Salem

  8. #8
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 197
    Points : 117
    Points
    117
    Par défaut plusieurs chois
    Salut tous les membres,
    J'ai fait jusqu'à maintenant des petites recherches sur les différentes API qui permettent de parser des fichiers XML.

    je suis vraiment surpris par le nombre de ces API et le choie il est difficile, je sait que chaque API possède des fonctionnalité propres à elle.
    Dans mon application j'ai besoin que d'extraire les données d'un fichier xml j'ai pas besoin d'utiliser java ==> xml, quel est la meilleur api d'après vous?

    j'ai des questions ouvert à tous les membres :

    * Pourquoi les editeurs comme sun et apache et autre ne se fait pas d'accord sur une API standard qui permet au développeurs d'utiliser toutes les techniques de la liaison JAVA-XML et facile à manipuler.

    *Pourquoi toutes ces variétés d'api qui perturbent les informations d'un développeur débutant.

    j'espère la participation de plusieurs membres du forum.
    MErci Salem

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

Discussions similaires

  1. [SAX] Parser un fichier XML et exraire des données dans un matrice ou liste en JAVA
    Par chcheibani dans le forum Format d'échange (XML, JSON...)
    Réponses: 12
    Dernier message: 21/03/2014, 15h26
  2. Réponses: 0
    Dernier message: 27/08/2012, 11h21
  3. Réponses: 8
    Dernier message: 26/12/2009, 15h18
  4. [DOM XML] Parser un fichier XML pour insertion dans la base
    Par npirard dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 08/09/2008, 15h44
  5. utilliser un autre fichier xml dans un xsl
    Par New Bee dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/04/2003, 10h55

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