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 :

[JAXEN] problèmes de débutant


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par défaut [JAXEN] problèmes de débutant
    bonjour à tous,

    (tout d'abord je tiens a preciser que je debute dans le domaine)

    je dois réaliser une application web en utilisant JSP et les servlets, avec derrière une "base de données" sous forme de fichiers xml.

    Je voudrais par exemple pouvoir remplir par la suite des combobox à partir des fichiers xml, etc...j'utilise donc le parseur JDOM, pour pouvoir plus facilement faire des requetes, la librairie JAXEN qui me permet d'utliser XPATH dans mes servlets, mais en théorie !

    En pratique je n'arrive pas à faire marcher mes requetes, et je ne suis meme pas sur du code à utiliser puisque je trouve très peu d'infos sur JAXEN sur le net.

    Voila ma classe (qui n'est pas encore un servlet) :

    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
    58
    59
    60
    61
    62
    63
    64
    65
     
    import org.jdom.Document;
    import org.jdom.JDOMException;
    import org.jdom.input.SAXBuilder;
     
    import org.jaxen.XPath;
    import org.jaxen.XPathSyntaxException;
    import org.jaxen.JaxenException;
     
    import org.jaxen.jdom.JDOMXPath;
     
    import java.io.File;
    import java.util.List;
    import java.util.Iterator;
     
    public class JDOMDemo 
    {
        public static void main(String[] args)
        {
            try
            {
                SAXBuilder builder = new SAXBuilder();
     
                Document doc = builder.build("cave.xml");
                System.out.println("doc "+doc.getBaseURI());
     
                XPath xpath = new JDOMXPath("/CAVE/APPELATION/NOM_APPELATION/*[position()!=1]");
     
                List results = xpath.selectNodes( doc );
     
                Iterator resultIter = results.iterator();
     
                System.out.println("Document :: " + "cave.xml" );
                System.out.println("   XPath :: " + "/CAVE/APPELATION/*[position()!=1]" );
                System.out.println("");
                System.out.println("Results" );
                System.out.println("----------------------------------");
     
                while ( resultIter.hasNext() )
                {
                    System.out.println( resultIter.next() );
                }
            }
            catch (JDOMException e)
            {
                e.printStackTrace();
                System.out.println("err "+e);
            }
            catch (XPathSyntaxException e)
            {
                System.err.println( e.getMultilineMessage() );
                System.out.println("err "+e);
            }
            catch (JaxenException e)
            {
                e.printStackTrace();
                System.out.println("err "+e);
            }
            catch (Exception e)
            {
                e.printStackTrace();
                System.out.println("err "+e);
            }
        }
    }
    Il n'y a pas d'erreur mais aucun résultat n'est affiché. Je suis sur que le fichier xml est trouvé mais à la fin, l'Iterator est vide.
    Y a t-il dans ce code quelque chose qui vous choque (c'est un exemple trouvé dans le zip de jaxen) ? Une erreur grossière ?

    Pensez-vous que j'ai fait le bon choix en ce qui concerne jaxen et jdom ou y a t-il des librairies plus facilement utlisables ?

    Connaissez-vous des bons tutoriaux pour jaxen ? j'ai passé mon apres midi à chercher sans succes !

    merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 8
    Par défaut
    j'ai trouvé d'où vient exactement le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    XPath xpath = new JDOMXPath("/CAVE/APPELATION/NOM_APPELATION");
                System.out.println("1");
                List results = xpath.selectNodes( doc );
                System.out.println("2");
                Iterator resultIter = results.iterator();
                System.out.println("3");
    En fait ca s'arrete à "1", c'est à dire avant List results = xpath.selectNodes( doc );. Ce qui est bizarre c'est que j'ai pas d'erreurs.

Discussions similaires

  1. requete, problème de débutant
    Par focus dans le forum Access
    Réponses: 4
    Dernier message: 16/02/2006, 05h51
  2. Problème de débutant dans une requête
    Par decour dans le forum Access
    Réponses: 7
    Dernier message: 14/10/2005, 14h17
  3. [C#][service windows] problème de débutant avec 1 timer
    Par Nycos62 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/10/2005, 11h22
  4. Réponses: 3
    Dernier message: 24/09/2005, 09h34
  5. [DB2] problèmes de débutant
    Par rémi_tounul dans le forum DB2
    Réponses: 4
    Dernier message: 21/04/2005, 17h08

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