Bonjour,
Après le parsing de fichier XML, je souhaite récupérer les attributs d'une balise en fichier texte.
j'ai les 2 classes suivantes:
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 //classe qui exécute le parsing class TrivialSAXRead { public static final String FILE = "C:/file.xml"; public static void main(String [] args) throws Exception { TrivialSAXHandler triv = new TrivialSAXHandler(); // Création de la fabrique de parsers SAXParserFactory parserFactory = SAXParserFactory.newInstance(); // Création du parser SAXParser parser = parserFactory.newSAXParser(); parser.parse(FILE, new TrivialSAXHandler()); } }Quand j'exécute ce code, le fichier en output ne contient que la dernière ligne du fichier XML. j'écrase à chaque fois les infos d'avant.
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 class TrivialSAXHandler extends DefaultHandler { FileWriter st1 = null; BufferedWriter st2 = null; public void setDocumentLocator(Locator locator) { System.out.println("Location : " + "publicId=" + locator.getPublicId() + " systemId=" + locator.getSystemId()); } public void startDocument() { System.out.println("Debut du document"); } public void endDocument() { System.out.println("Fin du document"); } public void startElement(String namespace, String localname, String qualname, Attributes atts) { st1 = new FileWriter("C:/file.txt"); st2 = new BufferedWriter(st1); try { for (int index = 0; index < atts.getLength(); index++) { client = atts.getValue("clientId"); item = atts.getValue("id"); session = atts.getValue("sessionId"); st2.write(client+";"+item +";"+session); st2.newLine(); ............... } }
A quel niveau je pourrais faire l'écriture de fichier txt?
Merci
Partager