util.java文件如下:
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解析工厂实例和SAX解析实例,调用SAXParser的parse()函数开始解析,parse函数的结构如下:
void javax.xml.parsers.SAXParser.parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
有两个参数,一个是输入流,另一个是DefaultHandler,输入流即前面定义的XML文件,DefaultHandler是自己定义的类的一个实例。