salut, je suis un débutant
mon probléme est trés simple.
j'ai un fichier XML de la forme :
je dois parcourir ce fichier est extraire les info1, info2, info3...et les mettre dans un autre fichier txt.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <root> <elem att=1>info1 </elem> <elem att=2>info2</elem> <elem att=3>info3</elem> . . </root>
j'ai essayé de le faire en utilisant les expressions réguliers (c'est la 1ere fois que je les utilises avec Java). voilà mon code :
le main est dans une autre classe.
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 package Extraction; import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Parseur { public Parseur(String fichxml) { System.out.println("debut "); try { BufferedReader in = new BufferedReader(new FileReader(fichxml)); BufferedWriter br =new BufferedWriter (new FileWriter ("resultat.txt")); StringBuilder input = new StringBuilder(); int ch; while ((ch = in.read()) != -1) {input.append((char) ch);} String patternString = "[<].*[>]([.*])[</].*[>]"; Pattern pattern = Pattern.compile(patternString); Matcher matcher = pattern.matcher(input); while (matcher.find()) { br.write(matcher.group(1)+"\n" ); } } catch (IOException e) { e.printStackTrace(); } System.out.println("fin "); } }
ça ne marche pas biensur !!! aidez moi à trouvez ce qui ne va pas.
Merci
Partager