util.java文件如下:
class="brush:java;gutter:true;">package com.hzhi.my_sax; import java.io.IOException; import java.io.InputStream; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; public class util { private static util my_ins = new util(); private util(){ } public static util get_ins(){ return my_ins; } public void parse(InputStream is, infor ir){ // 获取解析工厂实例和SAX解析实例 SAXParserFactory factory = SAXParserFactory.newInstance(); try{ SAXParser parser = factory.newSAXParser(); parser.parse(is, new parse_handler(ir)); } catch(SAXException e) { e.printStackTrace(); } catch(ParserConfigurationException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }
parse()过程获得了解析工厂实例和SAX解析实例,调用SAXParser的parse()函数开始解析,parse函数的结构如下:
void javax.xml.parsers.SAXParser.parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
有两个参数,一个是输入流,另一个是DefaultHandler,输入流即前面定义的XML文件,DefaultHandler是自己定义的类的一个实例。