salut,
j'ai un document XML qui contient des chaines de caractères, je veux chercher le nombre d’occurrence de ces mots {"nice","jolie","like","beau","aime","manifique","classe"} dans le document,j'ai développé le code suivant:
le problème c'est lorsque le document contient un mot par exemple comme "jooliee" il ne tient pas compte dans le calcul, existe il une fonction en java qui permet de fait cette truc?ou comment je peut résoudre ce problème?
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class nbcomments { public static int cp=0; public static void main(String[] args) { try { File file = new File("C:/Users/gmi/Desktop/Mémoire master/XML/com.xml"); DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance() .newDocumentBuilder(); Document doc = dBuilder.parse(file); if (doc.hasChildNodes()) { printNote(doc.getChildNodes()); System.out.println("le nbre de commentaire positives ="+ cp); } } catch (Exception e) { System.out.println(e.getMessage()); } } private static void printNote(NodeList nodeList) { String[]tabpo={"nice","jolie","like","beau","aime","manifique","classe"}; for (int count = 0; count < nodeList.getLength(); count++) { Node tempNode = nodeList.item(count); // make sure it's element node. if (tempNode.getNodeName() == "message" ) { for(int i=0; i< tabpo.length;i++) { String ch=tempNode.getTextContent(); if(ch.contains(tabpo[i])|| (ch.indexOf(tabpo[i])!= -1)) {cp=cp+1;} } } if (tempNode.hasChildNodes()) { // loop again if has child nodes printNote(tempNode.getChildNodes()); } } } }
voici mon document XML:
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 <?xml version="1.0" encoding="UTF-8"?> <data> <comments> <id>345420395561085_1609089</id> <data> <element> <can_remove>true</can_remove> <created_time>2013-06-20T08:30:15+0000</created_time> <from> <id>1509985731</id> <name>Imen gggg</name> </from> <like_count>0</like_count> <message>nice :)</message> <user_likes>false</user_likes> </element> <element> <can_remove>true</can_remove> <created_time>2013-06-12T21:13:34+0000</created_time> <from> <id>100000026303726</id> <name>Imen Mimou</name> </from> <id>345420395561085_1599226</id> <like_count>0</like_count> <message>trés classe</message> <user_likes>false</user_likes> </element> <element> <can_remove>true</can_remove> <created_time>2013-06-12T21:13:34+0000</created_time> <from> <id>100000026303726</id> <name>Imen Mimou</name> </from> <id>345420395561085_1599226</id> <like_count>0</like_count> <message>trés joooolie</message> <user_likes>false</user_likes> </element> </data> </comments> </data>
Partager