Bonjour

Je suis entrain de travailler sur un projet qui consiste à importer un fichier xml dans un prog java. J'ai créé déjà des classe qui permet jusqu'à maintenant de parser le fichier xml et afficher les données dans la console. Maintenant je veux extraire ces données et le stocker sous forme d'un tableau ou matrice ou liste.

Voilà le code que j'ai écrit :
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
46
47
48
49
package com.beingjavaguys.core;
import java.io.File;
import java.io.IOException;
 
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
 
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
 
public class SAX_Graphe {
 
	public static void main(String[] args){
 
 
		AnalyseSAX a = new AnalyseSAX() ;
		a.affichage_tab() ;
 
 
		try{
			// création d'une fabrique de parseurs SAX
			SAXParserFactory fabrique = SAXParserFactory.newInstance();
 
			// création d'un parseur SAX
			SAXParser parseur = fabrique.newSAXParser();
 
			// lecture d'un fichier XML avec un DefaultHandler
                        File fichier = new File("C:/Users/Cheibani/Desktop/xmlfile.xml");
			DefaultHandler gestionnaire = new AnalyseSAX();
			parseur.parse(fichier, gestionnaire);
 
                        }
 
		catch(ParserConfigurationException pce){
			System.out.println("Erreur de configuration du parseur");
			System.out.println("Lors de l'appel à newSAXParser()");
		}catch(SAXException se){
			System.out.println("Erreur de parsing");
			System.out.println("Lors de l'appel à parse()");
		}catch(IOException ioe){
			System.out.println("Erreur d'entrée/sortie");
			System.out.println("Lors de l'appel à parse()");
		}
 
 
 
	}
}
Et voilà la deuxième 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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package com.beingjavaguys.core;
 
import java.util.ArrayList;
import java.util.List;
 
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
 
public class AnalyseSAX extends DefaultHandler { 
//declaration d'un matrice et les compteurs 
    //tableau pour recuperer les donnees extraitent du fichier 
    public List<List<String>> elementsAttributes = new ArrayList<List<String>>(); 
 
    public void startElement(String namespaceURI, String sName, String qName, Attributes attrs) throws SAXException { 
        String eName = sName; 
        if ("".equals(eName)) { 
            eName = qName; 
        } 
        System.out.println("balise ouverte:" + eName); 
 
// recuperation de L'element trouvee dans le tableau --->ligne x colonne 0 
        List<String> ligne = new ArrayList<String>(); 
        ligne.add(eName); 
 
        if (attrs != null) { 
            //Listage des attributs 
            if (attrs.getLength() != 0) { 
                System.out.println("Listage des parametres pour la balise " + eName + ":"); 
            } 
            for (int i = 0; i < attrs.getLength(); i++) { 
                String aName = attrs.getLocalName(i);//recuperation du nom de l'attribut 
                if ("".equals(aName)) { 
                    aName = attrs.getQName(i); 
                } 
                System.out.println(" " + aName + "=" + attrs.getValue(i) +"" ) ; 
 
//recuperation des valeurs des attributs dans les colonnes de tableau ---> par exemple ligne 1 colonne y             
                ligne.add(attrs.getValue(i)); 
            } 
        } 
        elementsAttributes.add(ligne); 
    } 
 
    public void affichage_tab() { 
        System.out.println(""); 
        System.out.println("le tableau est : "); 
 
        for (List<String> line : elementsAttributes) { 
            for (String column : line) { 
                System.out.print(column+"  "); 
            } 
            System.out.println("kkkkk"); 
        } 
    } 
}
Merci en avance