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 :

Erreur lors de l'appel de getChildren() [JDOM]


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Par défaut Erreur lors de l'appel de getChildren()
    Bonjour , je suis nouveaux en développement je trouve votre code trés intéressant dans mon algorithme que je suis entrain d écrire , j'ai des problèmes avec getChildren elle ne marche pas merci d avance.

    Nom : Capture.PNG
Affichages : 729
Taille : 28,2 Ko

  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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il y a plusieurs problèmes dans ton code. Tout d'abord, tu ne peux pas appeler getChildren() sur un tableau : cette méthode n'existe pas sur un tableau en Java. Cela explique pourquoi tu as l'erreur que tu montres.

    Mais le premier problème est dans Documen doc = (Document) parser.build("test.xml"); et l'import correspondant : javax.swing.text.Document. Cette classe corrspondant à un modèle de texte pour l'API Swing. Cela n'a rien à voir avec JDOM ni même XML. La bonne classe c'est org.jdom.Document (ou plutôt org.jdom2.Document, parce que tu devrais utiliser plutôt JDOM2 que JDOM, l'ancienne version).
    D'ailleurs, il n'y a aucune raison de caster en réalité, parce que la méthode build() retourne directement un Document JDOM. Tu as été obligé de caster à cause du mauvais import : ça aurait dû te mettre la puce à l'oreille sur l'existence d'un problème déjà à ce niveau.

    En conséquence getRootElements() n'existant pas sur cette classe Document, parce qu'un XML n'a de toute façon qu'un seul élément racine, il faudra la remplacer par la méthode adéquate, getRootElement(), qui retourne donc, non pas un tableau, mais un Element, Element sur lequel tu pourras appeler getChildren().
    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.

  3. #3
    Membre averti
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Par défaut
    j ai ce fichier xml et je veut avoir le name de chaque evt dans le fichier dans une liste je n'arrive pas à comprendre le problème
    aider moi SVP.
    merci
    Fichiers attachés Fichiers attachés

  4. #4
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Je t'ai dit quel était ton problème : il faut que tu supprimes l'import de java.swing.text.Document qui n'est pas la bonne classe.

    Ensuite, pour ton problème en particulier (récupérer le nom de tous les éléments evt), ce sera plus simple d'utiliser un visiteur (ici code jdom2) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    List<String> evtNames = new ArrayList<>(); // une liste pour récupérer les names de evt
    Element root = doc.getRootElement();
    ElementFilter filter = new org.jdom2.filter.ElementFilter("evt"); // un filtre qui sélectionne les éléments qui s'appellent evt
    for(Element c : root.getDescendants(filter)) { // récupère tous les enfants qui correspondent au filtre
        evtNames.add( c.getAttributeValue("name") ); // récupère l'attribut name et l'ajouter à la liste
    }
    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.

  5. #5
    Membre averti
    Homme Profil pro
    ingénieur télécom
    Inscrit en
    Février 2017
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ingénieur télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2017
    Messages : 54
    Par défaut
    Je vous remercie Joel pour votre patience avec moi
    j ai essayé d utiliser le code que tu as deja m envoyer
    je ne sais pas ou est le probleme exactement il ya toujours ls lignes rouges
    j ai supprimé l import que tu as deja dit mais en vain
    Nom : Capture.PNG
Affichages : 550
Taille : 35,8 Ko

  6. #6
    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 : 55
    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
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par RabehBoubakri Voir le message
    j ai essayé d utiliser le code que tu as deja m envoyer
    Oui, mais tu n'as pas lu tout ce que je t'ai envoyé :
    • utilise les balises CODE et pas de copie d'écran !!!
    • utilise JDOM2 et pas JDOM (téléchargeables sur le même site, au même endroit à 15 ou 16 pixels près)


    Citation Envoyé par RabehBoubakri Voir le message
    je ne sais pas ou est le probleme exactement il ya toujours ls lignes rouges
    Les lignes rouges sont accompagnés de messages d'erreur assez explicite pour qu'une simple lecture donne souvent la solution.
    Citation Envoyé par RabehBoubakri Voir le message
    j
    j ai supprimé l import que tu as deja dit mais en vain
    Oui mais tu l'as remplacé par org.w3c.dom.Document qui n'est ni org.jdom.Document ni org.jdom2.Document (que je t'avais dit d'utiliser).
    En plus tu as importé java.awt.* et java.util.*, du coup, comme il y a un List dans les deux, Java ne sait pas lequel récupérer. Evidemment, c'est java.util.List qu'il faut.
    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.

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

Discussions similaires

  1. Erreur lors de l'appel d'une page executée avec AJAX
    Par jt-tronix dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2006, 17h56
  2. Erreur lors de l'appel de StringVar()
    Par vinzzzz dans le forum Tkinter
    Réponses: 2
    Dernier message: 29/10/2006, 15h13
  3. [FOP] Erreur lors de l'appel new Driver();
    Par Dithy dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 15/09/2006, 00h26
  4. Erreur lors de l'appel d'une DLL créée avec Visual
    Par WELCOMSMAIL dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/09/2006, 15h53
  5. Erreur lors de l'appel d'un page ASP
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 27/08/2004, 15h17

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