Je parsse un document XML avec JDOM, je récupère les élément un par un avec une récursive je calcule leur nombre et en même temps je dois traiter le texte contenu dans chaque nœuds j’ais réalisé cela mais dé que j’ajoute les ligne de code pour le traitement du texte de l’élément le calcule du nombre d’élément est faux, et mon programme n’accède plus au élément du deuxième niveau du document , j’espère que vous comprenez a peu prés mon pb je vous donne une partie de mon code et les lignes qui me cause ce pb sont ont commentaire et on rouge
Si quelqu’un a n’importe qu’elle idée sur la solution qu’il n’hésite surtout pas a me la faire partager
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 //.... ......... public void traitement(Element e) { //........on liste les fils de l'element donner.............// List listelement2=e.getChildren(); nombre_element=nombre_element+listelement2.size();//pour le calcule du nombre d'element le niveau2 //........si il n'a d'element fils on le traite............// if( listelement2.size()==0) { e.getText(); //....je calcule le poids de chaque terme dans l'element .....// contenu=e.getText(); StringTokenizer st = new StringTokenizer(contenu); /* while(st.hasMoreTokens()) { String motentré=st.nextToken(); if (motentré.length() > 7) motentré = motentré.substring(0, 7);//c'est un simple traitement du mot if(al.contains(motentré)) poid[al.indexOf(motentré)]++; else { al.add(motentré); poid[al.indexOf(motentré)] = 1; } }*/ //....fin de calcule du poids des termes d'un element.....// } //........et pour chaque objet de la liste ..............// for(int cpt=0;cpt<listelement2.size();cpt++) { //...on verifie si les elements de la liste on des sous elments....// Element courant=(Element)listelement2.get(cpt); // System.out.println(courant.getName()); // System.out.println(courant.getText()); if(courant.getChildren()==null) courant.getText(); //il faut mettre la methode de calcule du poids //.....et si il a des elements fils on applique de nouveau la fonction .... else { traitement(courant); }//fin de else }//fin de for } ......// La suite du code
Merci a vous tous
Remarque
Les ligne qui me cause pb marche très bien quant il sont seul c'est-à-dire j’ai fait rentré un simple texte et j’ai tester le fonctionnement de ces lignes ça marche très bien
Partager