SAX(XML的简单API)将在这里为您提供帮助。
与DOM解析器不同,SAX解析器不会创建XML文档的内存表示形式,因此速度更快且使用的内存更少。而是,SAX解析器通过调用回调(即,通过调用
org.xml.sax.helpers.DefaultHandler提供给解析器的实例上的方法)来将XML文档结构通知客户端
。
这是一个示例实现:
SAXParser parser = SAXParserFactory.newInstance().newSAXParser();DefaultHandler handler = new MyHandler();parser.parse("file.xml", handler);MyHandler您可以在其中定义在生成文档/元素的开始/结束之类的事件时要采取的措施。
class MyHandler extends DefaultHandler { @Override public void startdocument() throws SAXException { } @Override public void enddocument() throws SAXException { } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { } @Override public void endElement(String uri, String localName, String qName) throws SAXException { } // To take specific actions for each chunk of character data (such as // adding the data to a node or buffer, or printing it to a file). @Override public void characters(char ch[], int start, int length) throws SAXException { }}


