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é :

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);
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
 
//////////////////
// 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);
	}
Vous l'aurez compris, j'ai simplifié beaucoup de trucs....

Voici ce qui s'affiche :
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
Alors qu'il devrait afficher :
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
Là je sèche total, auriez vous une idée?
Merci