关于Android中XML解析方式
2016-03-23 16:49
288 查看
XML解析一般有三种方式:DOM 、SAX、PULL。
SAX解析器:它是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作。当事件源产生事件后,调用事件处理器相应的处理方法。它的特点解析速度快,占用内存小。非常适合在Android移动设备中使用。
DOM解析器:它是基于树形结构的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构。由于DOM在内存中以树形结构存放,因此检索和更新效率会更高。但是对于特别大的文档,解析和加载整个文档会消耗资源、
PULL解析器:它的运行方式和SAX类似,都是基于事件的模式。在pull解析过程中,我们需要自己获取产生的事件然后做相应的操作,而不像SAX那样有处理器触发一种事件的方法,执行我们的代码。pull解析小巧轻便,解析速度快,简单易用。在Android系统内部解析各种xml是也是用的pull解析。pull解析允许你的应用程序代码主动从解析器中获取事件,pull是一个while循环随时可以跳出,而sax只要解析就必须解析完成。
我如果解析上面的数据javabean已经写好了
A:使用SAX解析文件
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser saxparser = spf.newSAXparser(); //创建解析器
//设置解析器的相关特性,true表示开启命名空间特性
saxParser.setProperty("http:"//)
XMLContentHanler handler = new XMLContentHandler();
saxParser.parse(inStream,handler);
inStream.close();
return handler.getPersons();
SAX解析器:它是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作。当事件源产生事件后,调用事件处理器相应的处理方法。它的特点解析速度快,占用内存小。非常适合在Android移动设备中使用。
DOM解析器:它是基于树形结构的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构。由于DOM在内存中以树形结构存放,因此检索和更新效率会更高。但是对于特别大的文档,解析和加载整个文档会消耗资源、
PULL解析器:它的运行方式和SAX类似,都是基于事件的模式。在pull解析过程中,我们需要自己获取产生的事件然后做相应的操作,而不像SAX那样有处理器触发一种事件的方法,执行我们的代码。pull解析小巧轻便,解析速度快,简单易用。在Android系统内部解析各种xml是也是用的pull解析。pull解析允许你的应用程序代码主动从解析器中获取事件,pull是一个while循环随时可以跳出,而sax只要解析就必须解析完成。
我如果解析上面的数据javabean已经写好了
A:使用SAX解析文件
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser saxparser = spf.newSAXparser(); //创建解析器
//设置解析器的相关特性,true表示开启命名空间特性
saxParser.setProperty("http:"//)
XMLContentHanler handler = new XMLContentHandler();
saxParser.parse(inStream,handler);
inStream.close();
return handler.getPersons();
相关文章推荐
- Android 6.0 运行时权限处理
- Android学习笔记(32):通知推送Notification
- Android入门——Activity生命周期和横竖屏切换总结
- Android事件分发
- Android学习笔记(31):滚动视图ScrollView
- Android学习笔记(30):选项卡TabHost
- Android NDK编程
- android提供的json解析类
- Android学习笔记(29):搜索框SearchView
- android进阶之旅,初级试水型探索(activity四种启动模式详解)
- Android学习笔记(28):三种选择器DatePicker_TimePicker_NumberPicker
- Android 三大图片缓存原理、特性对比
- Android学习笔记(27):日历视图Calendar
- android自定义View中getWidth和getHeight返回0
- Android快速开发--使用ORMLite操作数据库
- 【Android基础】setTextColor(),setBackgroundColor的参数设置方式
- Android学习笔记(26):Toast提示信息框
- 设计模式:模板方法
- Android BottomNavigationBar底部导航控制器使用方法详解
- Android5.0+(Percent 百分比布局)