【慕课笔记】3-1 应用SAX方式解析XML—使用SAX解析XML文件的开始和结束

来源:互联网 发布:qq输入法mac 编辑:程序博客网 时间:2024/05/02 02:47
DOM 将整个xml文件加载到内存中

SAX 使用自己创造的handler类来逐个解析节点,解析速度快



import java.io.IOException;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.SAXException;public class TestSAX {public static void main(String[] args) {//获取一个SAXParserFactory的实例SAXParserFactory factory=SAXParserFactory.newInstance();try {//通过factory获取SAXParser的实例SAXParser parser=factory.newSAXParser();SAXParserHandler handler=new SAXParserHandler();parser.parse("haha.xml", handler);} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class SAXParserHandler extends DefaultHandler {@Override//用来遍历xml的开始标签public void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {// TODO Auto-generated method stubsuper.startElement(uri, localName, qName, attributes);}@Override//用来遍历xml的结尾标签public void endElement(String uri, String localName, String qName)throws SAXException {// TODO Auto-generated method stubsuper.endElement(uri, localName, qName);}@Override//用来标识解析开始public void startDocument() throws SAXException {// TODO Auto-generated method stubsuper.startDocument();System.out.println("SAX解析开始");}@Override//用来标识解析结束public void endDocument() throws SAXException {// TODO Auto-generated method stubsuper.endDocument();System.out.println("SAX解析结束");}}



0 0
原创粉丝点击