シンプルな SAX パーサーを実装しようとしています。
public class XmlParser {
public parseXML(File inputFile) {
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser parser = factory.newSAXParser();
SaxHandler handler = new SaxHandler();
parser.parse(inputFile, handler);
} ....
}
private static class SaxHandler extends DefaultHandler {
public void startElement(String uri, String localName,
String qName, Attributes attributes) throws SAXException {
}
public void characters(char ch[], int start, int length)
throws SAXException {
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
}
}
}
問題は、startElement メソッドをオーバーライドできないように見えることです。@Override を追加すると、「メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません」というメッセージが表示されます。startElement を除いて、他のすべてのハンドラーが適切に呼び出されます。
ありがとうございました。