Listing 3: Parsing XML using the DefaultHandler.
/** Inner class which receives the SAX handler notification. */
private class Handler extends DefaultHandler {
public void startDocument() throws SAXException {
infoList = new ArrayList<XMLTileFactoryInfo>();
}
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
currentString = new StringBuffer();
if (qName.equals("FactoryInfo")) {
init();
}
}
public void endElement(String uri, String localName, String qName)
throws SAXException {
String s = currentString.toString().trim();
if (qName.equals("MinimumZoomLevel")) {
minimumZoomLevel = Integer.parseInt(s);
}
// several lines omitted
else if (qName.equals("FactoryInfo")) {
buildFactoryInfo();
}
currentString = new StringBuffer();
}
public void characters(char buf[], int offset, int len)
throws SAXException {
String s = new String(buf, offset, len);
currentString.append(s);
if (!(s.endsWith("\n") || !s.endsWith("\r"))) {
currentString.append("\n");
}
}
}
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|