XML解析有三种方式
1,DOM
通用性强,它会将XML文件的所有内容读取到内存中,然后使用DOM API遍历XML树、检索所需的数据;
优点:简单直观,但需要将文档读取到内存,
缺点:并不太适合移动设备;
2,SAX
SAX是一个解析速度快并且占用内存少的xml解析器;
采用事件驱动,它并不需要解析整个文档;
3,PULL(移动端推荐使用)
Android自带的XML解析器,和SAX基本类似,也是事件驱动,不同的是PULL事件返回的是数值型。
PULL解析XML核心代码:
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); //XmlPullParser parser = Xml.newPullParser(); parser.setInput(fileInputStream,“utf-8”);//设置数据源编码 int eventCode = parser.getEventType();//获取事件类型 while(eventCode != XmlPullParser.END_DOCUMENT) { switch (eventCode){ case XmlPullParser.START_DOCUMENT: //开始读取XML文档 //实例化集合类 break; case XmlPullParser.START_TAG://开始读取某个标签 if("person".equals(parser.getName())) { //通过getName判断读到哪个标签,然后通过nextText()获取文本节点值,或通过getAttributeValue(i)获取属性节点值 } break; case XmlPullParser.END_TAG://读完一个Person,可以将其添加到集合类中 break; } parser.next(); }
下载地址:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。