Salut,

J'ai un petit problème de conception pour mon parser qui doit lire un document XML pour le transférer dans une base.

Ma classe ressemble à ça :
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
public class MonParser extends DefaultHandler {
    DataBase db;
 
    public static void main(String[] args) {
        DefaultHandler handler = new MonParser();
 
        SAXParserFactory factory = null;
        try {
	        factory = SAXParserFactory.newInstance();
        } catch (FactoryConfigurationError e) {
        	...
        }
 
        try {
		if (factory != null) {
			SAXParser saxParser = factory.newSAXParser();
			saxParser.parse(new File(...), handler);
		}
	} catch (Exception e) {
			...
	}
 
        System.exit(0);
    }
 
    public void startDocument() throws SAXException {...}
 
    public void endDocument() throws SAXException {...}
 
    ...
}
Mais où instancier ma base (ou d'autres objets du genre) ?
Quand je crée un constructeur MonParser pour faire des initialisations, tout est fait en double...

En fait j'ai du mal à comprendre comment fonctionne réellement le DefaultHandler.

Merci de votre aide !