Bonjour,
J'ai un soucis avec des variables définies en globale, je m'explique :
J'ai méthode qui lit un fichier XML et qui l'inscrit en base....
Des variables sont définies en globales en public
Mais que le parseur (SAX) se met en fonction, ces méthodes ne veulent pas aller lire le contenu des variables dont j'ai parlé précédemment...
Voici mon code simplifié :
Voici un bout de mon code parseur :
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 public class LireXML2 extends HandlerBase { ///////////////////////////////////////////// // DEFINITION VARIABLES GLOBALES UTILISEES // ///////////////////////////////////////////// public int X = 99; public String Y = "100"; ///////////////////////// // PROGRAMME LireXML : // ///////////////////////// public LireXML2() { baseben = new GestionBDD(); baseben.OuvertureBase(URL,Utilisateur,Password); } // Démarrage de votre programme public void LireXML2 (String url) { url2 = url; X = 1; //Là je calcule les variables X et Y : pour simplifier je mets ici Y = "2"; // des constantes System.out.println("Avant SAXParser") ; System.out.println("variable X :"+X+",variable Y: "+Y); SAXParserFactory factory = SAXParserFactory.newInstance(); try { SAXParser saxParser = factory.newSAXParser(); saxParser.parse( url , new LireXML2() ); } System.out.println("Après SAXParser") ; System.out.println("variable X :"+X+",variable Y: "+Y);
Vous l'aurez compris, j'ai simplifié beaucoup de trucs....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ////////////////// // END DOCUMENT // ////////////////// public void endDocument () throws SAXException { X1 = X; Y1 = Y; System.out.println("Dans SAXParser") ; System.out.println("variable X1 :"+X1+",variable Y1: "+Y1); }
Voici ce qui s'affiche :
Alors qu'il devrait afficher :Avant SAXParser
variable X :1,variable Y: 2
Dans SAXParser
variable X1 :99,variable Y1: 100
Après SAXParser
variable X :1,variable Y: 2
Là je sèche total, auriez vous une idée?Avant SAXParser
variable X :1,variable Y: 2
Dans SAXParser
variable X1 :1,variable Y1: 2
Après SAXParser
variable X :1,variable Y: 2
Merci
Partager