java中xml的解析方式有许多,有java自带的DOM、SAX,android中的PULL,其它的还有DOM4J、JDOM等。
本文简要讲述DOM、SAX、PULL三种方式。
1.DOM方法
缺点:此方法会将所有数据都读取到内存中,内存消耗大,数据量太大容易造成OOM,而且此方法的效率较低,所以不建议在移动开发中使用。
优点:以树形的结构访问,容易理解,编码简单,可随机访问所需要的内容。
2.SAX方法:
从开头顺序读取直至结尾,读取和处理同步。
缺点:编码难度较大
优点:解析快,占用内存小,适合在移动设备上使用
3.PULL方法:
此方法与SAX方法类似,适合在移动设备中使用,android系统内部默认使用此方法。
与SAX的区别是,此方法能随时结束解析,而SAX不能。
先展示一下接下来要解析的xml数据和对应的类:
book.xml
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book >
<name>冰与火之歌</name>
<author>乔治马丁</author>
<year>2014</year>
<price>89</price>
</book>
<book >
<name>安徒生童话</name>
<year>2004</year>
<price>77</price>
<language>English</language>
</book>
</bookstore>