手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >基于Android XML解析与保存的实现
基于Android XML解析与保存的实现
摘要:解析XML文件:在Android平台上可以使用SAX、DOM和Android附带的pull解析器解析XML文件;pull解析器提供了各种事件...

解析XML文件:

在Android平台上可以使用SAX、DOM和Android附带的pull解析器解析XML文件;

pull解析器提供了各种事件,使用parser.next()方法进入下一个元素并触发相应事件,pull解析器产生的事件是一个数字,可以通过switch对感兴趣的事件进行处理;通过paser.nextText()方法可以获取下一个Text类型的节点的值;

http://xmlpull.org/xmlpull-website/impls.shtml;

读取XML

XmlPullParser pullParser = Xml.newPullParser();

pullParser.setInput(xml, "UTF-8");//为破解器添加要解析的XML数据

int event = pullParser.getEventType();//开始读取,获取事件返回值

pullParser.getName();//获取节点名称

pullParser.getAttributeValue(0);//获取第一个属性的值

pullParser.nextText();//获取标签之后的节点的内容

event = pullParser.next();//解析器遇到结束标签不会自动向下解析,需要调用此方法进行继续执行;

保存文件到XML

public static void save(List<Person> persons, OutputStream outStream)

throws Exception, IllegalStateException, IOException {

XmlSerializer serializer = Xml.newSerializer();//获取XML写入信息的序列化对象

serializer.setOutput(outStream, "UTF-8");//设置要写入的OutputStream

serializer.startDocument("UTF-8", true);//设置文档标签

serializer.startTag(null, "persons");//设置开始标签,第一个参数为namespace

for (Person person : persons) {

serializer.startTag(null, "person");

serializer.attribute(null, "id", person.getId().toString());

serializer.startTag(null, "name");

serializer.text(person.getName());

serializer.endTag(null, "name");

serializer.startTag(null, "age");

serializer.text(person.getAge().toString());

serializer.endTag(null, "age");

serializer.endTag(null, "person");

}

serializer.endTag(null, "persons");

serializer.endDocument();

outStream.flush();

outStream.close();

}

【基于Android XML解析与保存的实现】相关文章:

Android 开机广播的使用及配置

Android文件下载进度条的实现代码

分享Android开发中最有效率最快的循环代码

android apk反编译到java源码的实现方法

android 大图片拖拽并缩放实现原理

Android 四种动画效果的调用实现代码

Android 网络图片查看显示的实现方法

Android监听键盘上的确定键

基于Android SQLite的使用介绍

如何与Android实体设备的连接

精品推荐
分类导航