Bonjour à tous
je suis entraint de developpez une application qui se charge d'extraire des données d'une page XML avec le package SAX.
en effait, j'ai reussit à extraire les données sauf que le probleme reside dans les caracteres speciaux qui existent dans la page. Voici le code que j'utilise :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
 
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;
import java.io.*;
import java.net.*;
 
public void Analyser(String path) {
    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(path);
      url = new URL(path);
      urlConnection = url.openConnection();
      urlConnection.setDoOutput(true);
 
      DefaultHandler gestionnaire = new DefaultHandler() {
        public void startDocument() throws SAXException {
          //System.out.println("DEBUT DOCUMENT");
        }
 
        public void endDocument() throws SAXException {
          //System.out.println("FIN DOCUMENT");
        }
 
        public void startElement(String uri,
                                 String localName,
                                 String qName,
                                 Attributes attributes) throws SAXException {
          //System.out.println("DEBUT ELEMENT : " + qName);
          Traiter_Debut(qName);
        }
 
        public void endElement(String uri,
                               String localName,
                               String qName) throws SAXException {
          //System.out.println("FIN ELEMENT : " + qName);
          Traiter_Fin(qName);
        }
 
        public void characters(char[] ch,
                               int start,
                               int length) throws SAXException {
          String message = new String(ch, start, length);
          if (message.length() > 0) {
            //System.err.println("TEXTE : " + message);
            Traiter_Contenu(message);
          }
        }
      };
      //parseur.parse(fichier, gestionnaire);urlConnection
      parseur.parse(urlConnection.getInputStream(), gestionnaire);
    }
    catch (ParserConfigurationException pce) {
      System.out.println("Erreur de configuration du parseur");
      System.out.println("Lors de l'appel à SAXParser.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 infini pour vous