Toon posts:

SAX-parser (klein ?) probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
via een tutorial op internet heb ik de volgende SAX-parser gebrouwen (JAVA):

code:
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;

import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;


public class MySAXApp extends DefaultHandler
{
    StringBuffer accumulator = new StringBuffer();
        
    String dag;

    
    public static void main (String args[]) throws Exception
    {

        XMLReader xr = XMLReaderFactory.createXMLReader();
        MySAXApp handler = new MySAXApp();
        xr.setContentHandler(handler);
        xr.setErrorHandler(handler);
        XMLReader xmlReader = null;
        System.out.println("Time " + new java.util.Date());

        try
        {
            SAXParserFactory spfactory = SAXParserFactory.newInstance();
            spfactory.setValidating(false);
            SAXParser saxParser = spfactory.newSAXParser();
            xmlReader = saxParser.getXMLReader();
            InputSource source = new InputSource("aankomstbinnenschip.xml");
            xmlReader.parse(source);
         
        }
        catch (Exception e)
        {
            System.err.println(e);
            System.exit(1);
        }
    }

    public MySAXApp ()
    {
        super();               
    }



    ////////////////////////////////////////////////////////////////////
    // Event handlers.                                         //
    ////////////////////////////////////////////////////////////////////

    public void startDocument ()
    {        
        System.out.println("Start document");
    }


    public void characters(char[] buffer, int start, int length)
    {
        accumulator.append(buffer, start, length);
    }


    public void startElement(String uri, String localName, String qName, Attributes attributes)
    {
        accumulator.setLength(0); // Ready to accumulate new text
    }


    public void endElement(String uri, String localName, String qName)
    {

        if (qName.equals("d"))
        {
            dag = accumulator.toString().trim();
            System.out.println(dag);
        }
        
    }


        /** This method is called when warnings occur */
        public void warning(SAXParseException exception)
        {
            System.err.println("WARNING: line " + exception.getLineNumber() + ": "+
            exception.getMessage());
        }

        /** This method is called when errors occur */
        public void error(SAXParseException exception)
        {
            System.err.println("ERROR: line " + exception.getLineNumber() + ": " +
            exception.getMessage());
        }

        /** This method is called when non-recoverable errors occur. */
        public void fatalError(SAXParseException exception) throws SAXException
        {
            System.err.println("FATAL: line " + exception.getLineNumber() + ": " +
            exception.getMessage());
            throw(exception);
        }

}


Het probleem is dat de compiler niet langs de eventhandelers gaat. Met debuggen komt hij er nooit langs...
Misschien zie ik iets over het hoofd of maak ik een fout. Help me please!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waar voeg je je eventhandler toe dan? Ik zie je dat nergens doen

edit:

O het is java wat je aan het doen bent. Dat is wel handig om in je Titel of je Post te zetten.

[ Voor 48% gewijzigd door Woy op 08-12-2006 12:57 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
Sorry, heb nu in de inleiding vermeld dat het om Java gaat.

  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Je hangt de eventhandlers aan de XMLReader die je xr noemt. Vervolgens ga je parsen met een andere, namelijk de xmlReader.

With the light in our eyes, it's hard to see.