Java Sax解析器缺少开始元素
我在使用java sax解析器打开stackoverflow posts XML转储时遇到问题。它识别每个元素的结尾,但似乎跳过了startElement方法。Im使用示例代码:Java Sax解析器缺少开始元素,java,xml,sax,Java,Xml,Sax,我在使用java sax解析器打开stackoverflow posts XML转储时遇到问题。它识别每个元素的结尾,但似乎跳过了startElement方法。Im使用示例代码: try { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); DefaultHan
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
System.out.println("Start Element :" + qName);
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
System.out.println("End Element :" + qName);
}
public void characters(char ch[], int start, int length) throws SAXException {
}
};
saxParser.parse(filename, handler);
XML的结构简单,是一行,具有许多属性:
<row Id="29621" "postTypeID=1" AcceptedAnswer...>
我已经尝试向defaultHandler中的方法添加@Override注释,但是如果我尝试重写startElement,它会抛出一个错误。有谁能建议如何纠正此问题以及为什么不能覆盖startElement吗?如果在添加覆盖批注时出现错误,最可能的解释是方法的签名与要覆盖的方法的签名不完全匹配 从
这看起来不错,但可能您使用的是另一个版本。重写时会出现哪个错误?您是否在代码中使用org.xml.sax.Attributes和org.xml.sax.helpers.DefaultHandler类?好的,实际上我已经提到了一半,没有错误,您的第二个建议是正确的导入了错误的库。它现在可以运行了,如果你想把它作为一个答案发布,我会把它标记为正确的:非常感谢!因为这更像是一个打字错误,发布答案并不能真正帮助其他人,但我很高兴它解决了这个问题:
End Element :row
public void startElement(String uri,
String localName,
String qName,
Attributes attributes)
throws SAXException