via een tutorial op internet heb ik de volgende SAX-parser gebrouwen (JAVA):
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!
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!