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 :
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 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()"); } } }
Merci en avance
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"); } } }
Partager