android xml解析1

上传:Joy_s 浏览: 26 推荐: 0 文件:TXT 大小:4.8KB 上传时间:2019-03-30 19:39:15 版权申诉
在JAVA中有两种常见的XML解析方式,DOM和SAX,DOM在解析的时候会将所有的数据一次性载入内存中进行解析,在数据量比较大的情况下,效率非常低.尤其在手机这种对内存和性能要求比较苛刻的设备里面这种方法并不可取. android里面可以使用SAX进行解析.SAX是基于事件驱动的。在用SAX解析xml文档时候,在读取到文档开始和结束标签时候就会回调一个事件,在读取到其他节点与内容时候也会回调一个事件。在SAX接口中,事件源是org.xml.sax包中的XMLReader,它通过parser()方法来解析XML文档,并产生事件。事件处理器是org.xml.sax包中ContentHander、DTDHander、ErrorHandler,以及EntityRe solver这4个接口.ContentHander用于处理跟XML文档相关的事件,DTDHander用于处理对文档的DTD进行解析时产生的事件,ErrorHandler用于处理XML文档产生的错误,EntityResolver用于处理外部实体.值得注意的是,在使用ContentHandler时,他在这个包下:org.xml.sax.*而通常我们在解析XML时会与网络发生交互,常常会导入以下这个包: import java.net.*; 在这个包下面也有一个ContentHandler,这样会发生错误. 更为方便的是android SDK中提供了DefaultHandler和DefaultHandler2 来协助我们完成构建XML handler,事实上DefaultHandler本身实现了 ContentHander、DTDHander、ErrorHandler,以及EntityResolver这4个接口,相当于把这几个接口做了一次集成,而DefaultHandler2继承自DefaultHandler,可以用来处理更加丰富的事件.我们常常使用DefaultHandler来作为事件处理handler. solver这4个接口.ContentHander用于处理跟XML文档相关的事件,DTDHander用于处理对文档的DTD进行解析时产生的事件,ErrorHandler用于处理XML文档产生的错误,EntityResolver用于处理外部实体.值得注意的是,在使用ContentHandler时,他在这个包下:org.xml.sax.*而通常我们在解析XML时会与网络发生交互,常常会导入以下这个包: import java.net.*; 在这个包下面也有一个ContentHandler,这样会发生错误. 更为方便的是android SDK中提供了DefaultHandler和DefaultHandler2 来协助我们完成构建XML handler,事实上DefaultHandler本身实现了 ContentHander、DTDHander、ErrorHandler,以及EntityResolver这4个接口,相当于把这几个接口做了一次集成,而DefaultHandler2继承自DefaultHandler,可以用来处理更加丰富的事件.我们常常使用DefaultHandler来作为事件处理handler.
上传资源
用户评论