SAX Parser不工作

时间:2011-10-11 19:01:50

标签: java xml sax

我正在尝试使用java中的sax读取xml文件。我只得到了功能的输出,但我找不到startElement的错误。

这是我的经纪人:

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 + " ]" );
}

}

我用以下代码测试它:

 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>

这是我的输出:

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 ]

我真的不明白我在这里做错了什么......

1 个答案:

答案 0 :(得分:2)

我猜你的方法原型是不正确的。这就是为什么你应该总是使用@Override注释。你可能导入了错误的Attributes类?