SAX解析XML文件

来源:互联网 发布:windows系统日志分析 编辑:程序博客网 时间:2024/04/28 03:25
import java.io.IOException;import java.io.StringReader;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import org.xml.sax.XMLReader;import org.xml.sax.helpers.DefaultHandler;public class XMLTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubtry {String xmlString = "<student><name>tom</name><age>20</age></student>";SAXParserFactory factory = SAXParserFactory.newInstance();XMLReader reader = factory.newSAXParser().getXMLReader();reader.setContentHandler(new MyContenntHandler());reader.parse(new InputSource(new StringReader(xmlString)));} catch (SAXException e) {e.printStackTrace();} catch (ParserConfigurationException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}class MyContenntHandler extends DefaultHandler{@Overridepublic void characters(char[] ch, int start, int length) throws SAXException {super.characters(ch, start, length);}@Overridepublic void endDocument() throws SAXException {super.endDocument();}@Overridepublic void endElement(String uri, String localName, String qName) throws SAXException {super.endElement(uri, localName, qName);}@Overridepublic void startDocument() throws SAXException {super.startDocument();}@Overridepublic void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {super.startElement(uri, localName, qName, attributes);}}

最重要的是复写DefaultHandler类,里面的几个方法的执行顺序可以写一个测试程序

原创粉丝点击