android中数据存储及对xml的解析

android中数据存储及对xml的解析

ID:25857317

大小:56.00 KB

页数:12页

时间:2018-11-23

android中数据存储及对xml的解析_第1页
android中数据存储及对xml的解析_第2页
android中数据存储及对xml的解析_第3页
android中数据存储及对xml的解析_第4页
android中数据存储及对xml的解析_第5页
资源描述:

《android中数据存储及对xml的解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、android中数据存储及对xml的解析这几天恶补了一下XML解析,还是不够透彻呀,还是先打个钉吧。。。XML作为一种业界公认的数据交换格式,在各个平台与语言之上,都有广泛使用和实现。其标准型,可靠性,安全性......毋庸置疑。在android平台上,我们要想实现数据存储和数据交换,经常会使用到xml数据格式和xml文件。小提示:android中存储数据一般有如下几种:SharedPreferences(参数化),XML文件,sqllite数据库,网络,ContentProvider(内容提供者)等。在android中,操

2、作xml文件,一般有几种方式:SAX操作,Pull操作,DOM操作等。其中DOM的方式,可能是大家最熟悉的,也是符合W3C标准的。1)在java平台中,有诸如DOM4J这样优秀的开源包,极大程度的方便大家使用DOM标准来操作XML文件。在javascript中,不同的浏览器解析引擎,对DOM的解析和操作也略有差异(不过这不是本章介绍的重点)。而DOM的方式,也有其缺点。通常一次性加载xml文件,再使用DOM的api去进行解析,这样很大程度的消耗内存,对性能会有一定影响。而我们的android手机,虽然配置在不断的升级,但是内

3、存方面,暂时还无法与传统的PC去媲美。所以,在android开发中,个人不太推荐使用DOM的方式来解析和操作XML。[java]viewplaincopypackagecn.itcast.service;importjava.io.InputStream;importjava.util.ArrayList;importjava.util.List;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;imp

4、ortorg.w3c.dom.Document;importorg.w3c.dom.Element;importorg.w3c.dom.Node;importorg.w3c.dom.NodeList;importcn.itcast.model.Person;publicclassDomPersonService{publicListgetPersons(InputStreamstream)throwsThrowable{Listlist=newArrayList();DocumentBuilderFactoryfactory

5、=DocumentBuilderFactory.newInstance();DocumentBuilderbuilder=factory.newDocumentBuilder();Documentdom=builder.parse(stream);//解析完成,并以dom树的方式存放在内存中。比较消耗性能//开始使用dom的api去解析Elementroot=dom.getDocumentElement();//根元素NodeListpersonNodes=root.getElementsByTagName_r("perso

6、n");//返回所有的person元素节点//开始遍历啦for(inti=0;i

{Personperson=newPerson();ElementpersonElement=(Element)personNodes.item(i);person.setId(newInteger(personElement.getAttribute("id")));//将person元素节点的属性节点id的值,赋给person对象NodeListpersonChildrenNodes=personElement.getChildNode

7、s();//获取person节点的所有子节点//遍历所有子节点for(intj=0;j

{//判断子节点是否是元素节点(如果是文本节点,可能是空白文本,不处理)if(personChildrenNodes.item(j).getNodeType()==Node.ELEMENT_NODE){//子节点--元素节点ElementchildNode=(Element)personChildrenNodes.item(j);if("name".equals(childNode.getNodeName())){//如果子节点的名称

8、是“name”.将子元素节点的第一个子节点的值赋给person对象person.setName(childNode.getFirstChild().getNodeValue());}elseif("age".equals(childNode.getNodeValue())){person.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。