j'ai déja posé ce pb mais j'ai amélioré encore mon code et j'espére que cette fois vous pouvez m'aider plus voila mon pb:
Je parse un document XML avec jdom, j’ai créé une méthode récursive pour récupère tt les élément du document, je récupère le texte de chaque élément, je calcule le nombre d’élément jusqu’ici tt marche a merveille (pour l’information j’ai besoin de cette méthode récursive car le jdom ne me permis pas d’avoir la liste de tt les élément il me renvoi que le premier niveau les élément fils ne sont pris on considération)
J’ai créé une méthode qui calcule le nombre d’apparition d’un terme dans un texte cette méthode a pour but calculé le nombre d’apparition d’un terme dans le texte d’un élément du document dé que je fait appelle a cette méthode la tt les autre résultats au par avant qui on été réalisé ne le sont plus (je parle de la récupération de tt les élément du document ainsi que le calcule du nombre d’élément)
Je vous donne une parti de mon code :
la ou je fais appele a cette methode (la méthode qui me cause pb est la méthode calcule_fréquence(String s) )
voila le code de la méthode:
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 Iterator i=descendants_document.iterator(); //....un while pour avoir les autres element du document.........// while(i.hasNext()) { Element courant =(Element)i.next(); String terme=courant.getText();//c'est le string de 1er niveau des elment // calcule_fréquence(terme); System.out.println(courant.getText()); //pour le traitement du texte de l'element courant if (courant.getChildren()!=null) { traitement(courant); //fin de if } //si l'élément n'a pas de fils on le traite on son fou }//.....fin de while......
remarque: je fait plusieurs appelle de cette méthode
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 public void calcule_fréquence(String s) { StringTokenizer st = new StringTokenizer(s); 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; } }
merci pour votre aide
Partager