Bonjour à tous,
j'ai lu le tuto de Nicolas CYNOBER et ait voulu l'adapter pour mon programme :
voici les imports :
je récupère un Stream XML et j'ai son DTD. Je peux le parser sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 import org.jdom.*; import org.jdom.input.*; import org.jdom.filter.*; import org.xml.sax.*; import java.util.*;
Je voudrais le filtrer pour garder seulement les parties interressantes. Je crée donc un filtre et je l'utilise (c'est quasiment un copié/collé du tuto) :
à l'execution, j'ai
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 Filter filtre = new Filter() { static final long serialVersionUID = 556789746; //On défini les propriétés du filtre à l'aide //de la méthode matches public boolean matches(Object ob) { //1 ère vérification : on vérifie que les objets //qui seront filtrés sont bien des Elements if(!(ob instanceof Element)){return false;} //On crée alors un Element sur lequel on va faire les //vérifications suivantes. Element element = (Element)ob; //On crée deux variables qui vont nous permettre de vérifier //les conditions de nom et de prenom boolean verifNomCNX = true; boolean verifTypeCNX = false; //2 ème vérification: on vérifie que le nom est bien "CynO" if(element.getChild("Connection").getAttributeValue("Type").matches( "P2P|TLS|CES")) { verifTypeCNX = true; } //3 ème vérification: on vérifie que CynO possède un prenom "Laurent" //On commence par vérifier que la personne possède un prenom, //en effet notre fichier XML possède des étudiants sans prénom ! if(element.getChild("Connection").getAttributeValue("Description").matches("(?i)VV[0-9]{6}_" + nom)) { verifNomCNX = true; } //Si nos conditions sont remplies on retourne true, false sinon if(verifNomCNX && verifTypeCNX) { return true; } return false; } };//Fin du filtre List resultat = racine.getContent(filtre);qui arrive sur cette dernière ligne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Exception in thread "main" java.lang.NoSuchMethodError: org.jdom.Element.getContent(Lorg/jdom/filter/Filter;)Ljava/util/List;
Une idée du pourquoi ?
merci d'avance !
Partager