Android SAX解析xml文件(3)
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.id+",name "+this.name+" age "+this.age+"\n";
}
}
	
	3-4:遵循mvc的架构,我们建立一个service用来读取xml
	Java代码 
	package com.leequer.service;    
	   
	import java.io.InputStream;    
	import java.util.List;    
	   
	   
	import javax.xml.parsers.SAXParser;    
	import javax.xml.parsers.SAXParserFactory;    
	   
	import org.xml.sax.XMLReader;    
	   
	   
	   
	import com.leequer.service.demo.Person;    
	   
	public class SaxReadxml {    
	    public static  List<Person> readXml(InputStream inStream)throws Exception {    
	        SAXParserFactory spf = SAXParserFactory.newInstance(); // 初始化sax解析器    
	        SAXParser sp = spf.newSAXParser(); // 创建sax解析器    
	        //XMLReader xr = sp.getXMLReader();// 创建xml解析器    
	        XMLContentHandler handler = new XMLContentHandler();    
	        sp.parse(inStream, handler);    
	        return handler.getPersons();    
	    }    
	}   
	
	sp.parse(inStream, handler); 
	这句可以看出xml文件是以流的形式传进来的,参数handler就是回调函数的实例,当sax解析器解析xml文件的时候当遇到符合xml的内容就会去handle类中调用对应的上面提到的方法.那我们建立这个XMLContentHandler 就要求这个类要实现ContentHandler()这个接口,但是这个接口中有很多需要实现的方法.sax提供了一个DefaultHandler接口 只要实现这个接口中你感兴趣的方法就可以了.
	3-5:创建XMLContentHandler 并完成读取时的事件的实现 注意看注释
	Java代码 
	package com.leequer.service;    
	   
	import java.util.ArrayList;    
	import java.util.List;    
	   
	
相关新闻>>
- 发表评论
- 
				
- 最新评论 进入详细评论页>>





