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 :

[JDOM] Test d'existence d'un noeud


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut [JDOM] Test d'existence d'un noeud
    Bonjour,
    Voila mon problème: Je souhaiterai faire un test sur <Long-Name> pour savoir s'il existe ou pas.
    J'utilise jdom sous java.
    j ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XPath xpa = XPath.newInstance("//racine");
    mais il met met une erreur a chaque foi en me disant que l'argument rentrer n'est pas un chemin valide.

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <DATATYPES>
        <DATATYPE-DEFINITION-ENUMERATION>
          <LONG-NAME>Type</LONG-NAME>
        </DATATYPE-DEFINITION-ENUMERATION>
    </DATATYPES>
    <DATATYPES>
        <DATATYPE-DEFINITION-ENUMERATION>
          <LONG-NAME>Critique</LONG-NAME>
        </DATATYPE-DEFINITION-ENUMERATION>
    </DATATYPES>

    Puis s'il existe pas je le crée s'il existe je fait rien pour le moment.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Si tu veux simplement tester qu'un noeud "LONG-NAME" existe dans le document (les majuscules sont importantes), il suffit de faire en XPATH :
    Si tu veux tester son existence au sein d'un noeud "DATATYPES" particulier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATATYPE-DEFINITION-ENUMERATION/LONG-NAME

  3. #3
    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
    Citation Envoyé par Mlemaudi Voir le message
    j ai essayé : XPath xpa = XPath.newInstance("//racine"); mais il met met une erreur a chaque foi en me disant que l'argument rentrer n'est pas un chemin valide.
    Ça m'étonnerait. Je suis curieux de voir le vrai message d'erreur.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut
    The method newInstance(String) is undefined for the type XPath
    voila se que me dit eclipse quand je tape
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XPath xpa = XPath.newInstance("//racine");
    racine étant mon element racine.

  5. #5
    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


    Vérifie que tu as bien importé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    import org.jdom.xpath.XPath;
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Par défaut
    ca a l'aire de mieux marcher.

    j importait : import javax.xml.xpath.XPath;

    par contre j ai un packet d'erreur a l'exécution


    Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.jdom.xpath.XPath.newInstance(XPath.java:134)
    at addDatatypes.addEnum(addDatatypes.java:19)
    at JDom.main(JDom.java:35)
    Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 5 more

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    il faut ajouter les jars correspondant à l'éxécution au classpath.
    Tu peux utiliser http://findjar.com pour retrouver les jars corresspondant à tes classes manquantes. Ici ça à l'air d'être jdom.

Discussions similaires

  1. [XPath] test d'existence de noeud avec conditions sur les enfants
    Par MasterOfChakhaL dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 11/04/2007, 10h42
  2. Réponses: 4
    Dernier message: 12/11/2005, 14h02
  3. Test d'existence d'une valeur dans une table
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 29/12/2004, 10h38
  4. Création vue avec test d'existence
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/12/2004, 11h44
  5. test d'existence de table
    Par Ilùvatar dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 29/08/2004, 22h07

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