Android使用SAX解析XML(4)

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是自己定义的类的一个实例。

原文地址:https://www.cnblogs.com/mstk/p/3484391.html