SAX解析器不工作
问题描述:
我想读在Java中使用SAX的XML文件。我只得到了的endElement输出,但我无法找出什么毛病的startElement。SAX解析器不工作
这是我的处理程序:
public static void main(String args[]) throws ParserConfigurationException, SAXException, IOException
{
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setNamespaceAware(true);
SAXParser saxParser = spf.newSAXParser();
saxParser.parse("http://www.w3schools.com/xml/note.xml", new XMLHandler());
}
我使用W3Schools的一个示例XML文件:
<!-- Edited by XMLSpy® -->
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
public class XMLHandler extends DefaultHandler {
public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {
System.out.println("SAX Event: START ELEMENT[ " + localName + " ]");
}
public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
System.out.println("SAX Event: END ELEMENT[ " + localName + " ]");
}
}
我用下面的代码测试
和T他是我的输出:
SAX Event: END ELEMENT[ to ]
SAX Event: END ELEMENT[ from ]
SAX Event: END ELEMENT[ heading ]
SAX Event: END ELEMENT[ body ]
SAX Event: END ELEMENT[ note ]
我真的不明白我在做什么错在这里...
答
我的猜测是,你的方法原型是不正确的。这就是为什么你应该总是使用@Override注释。你可能导入了错误的Attributes类?
+0
我导入了java.util.jar.Attributes而不是org.xml.sax.Attributes,谢谢 –
我把它'新的ProtrackXMLHandler()'是一个剪切/粘贴错误,或是ProtrackXMLHandler类不同于XMLHandler类吗? – beny23
更正后在我的帖子 –