1、获得SAXParserFactory实例:SAXParserFactory.newInstance()
2、获得parser实例:SAXParserFactory实例.newSAXParser()
3、获得handler实例:新建类继承DefaultHandler,重写startElement和endElement方法进行业务处理
DOM解析xml是将整个xml文件存入内存中挨个元素解析。
SAX解析是会自己创建一个handler处理类,解析自己遇到的xml节点
继承DefaultHandler类,重写其中的方法:
StartDocument(文档解析开始) StartElement(标签元素解析开始) EndElement(标签元素解析结束) EndDocument(文档解析结束)
注:解析时,创建一个继承DefaultHandler类的对象实例,将其与待解析文档一并作为SaxParser的Parser方法参数传入.
解析器的创建方式类似DOM。
SAX解析中用到的类
SAXTransformerFactory
TransformerHandler
AttributesImpl
利用File和Result创建文件流
File f = new File("src/res/newbooks.xml");
if (!f.exists()) {
f.createNewFile();
}
Result result = new StreamResult(new FileOutputStream(f));
handler.setResult(result);