salut,

j'essaye de parser un fichier xml avec sax, mon programe tourne bien avec plusieurs fichiers xml sauf que sur mon fichier xml ça passe pas plutôt ça commence dés la moitié du fichier et non pas du début

voila mon code
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
 
package ParseXMLAndCo;
 
    import java.io.FileReader;
    import org.xml.sax.XMLReader;
    import org.xml.sax.Attributes;
    import org.xml.sax.InputSource;
    import org.xml.sax.helpers.XMLReaderFactory;
    import org.xml.sax.helpers.DefaultHandler;
    import java.util.List;
 
    public class MySAXHandler extends DefaultHandler
    {
        public MySAXHandler()
        {
        super();
        }
        ////////////////////////////////////////////////////////////////////
        // Event handlers.
        ////////////////////////////////////////////////////////////////////
        public void startDocument ()
        {
        System.out.println("Start document");
        }
        public void endDocument ()
        {
        System.out.println("End document");
        }
        public void startElement (String uri, String name,
                      String qName, Attributes atts)
        {
        if ("".equals (uri))
            System.out.println("Start element: " + qName);
        else
            System.out.println("Start element: {" + uri + "}" + name);
        }
        public void endElement (String uri, String name, String qName)
        {
        if ("".equals (uri))
            System.out.println("End element: " + qName);
        else
            System.out.println("End element:   {" + uri + "}" + name);
        }
        public void characters (char ch[], int start, int length)
        {
        System.out.print("Characters:    \"");
        for (int i = start; i < start + length; i++) {
            switch (ch[i]) {
            case '\\':
            System.out.print("\\\\");
            break;
            case '"':
            System.out.print("\\\"");
            break;
            case '\n':
            System.out.print("\\n");
            break;
            case '\r':
            System.out.print("\\r");
            break;
            case '\t':
            System.out.print("\\t");
            break;
            default:
            System.out.print(ch[i]);
            break;
            }
        }
        System.out.print("\"\n");
        }
    }
ma classe main
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
 
package ParseXMLAndCo;
import org.xml.sax.*;
import org.xml.sax.helpers.XMLReaderFactory;
import java.io.FileReader;
 
public class Test {
 
     public static void main (String args[])
        throws Exception
        {
        XMLReader xr = XMLReaderFactory.createXMLReader();
        MySAXHandler handler = new MySAXHandler();
        //Le handler ainsi créé doit être affecté au parser à l'aide de la méthode setContentHandler.
            xr.setContentHandler(handler);
            xr.setErrorHandler(handler);
            FileReader r = new FileReader("Quiz.xml");
            xr.parse(new InputSource(r));
        //}
        }
}
des idées????