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.
![]()
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.
![]()
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.
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
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.
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![]()
![]()
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)
Les lignes rouges sont accompagnés de messages d'erreur assez explicite pour qu'une simple lecture donne souvent la solution.
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.
Partager