基于Android XML解析与保存的实现

 更新时间:2013年04月21日 15:19:39   投稿:jingxian  
本篇文章小编为大家介绍,基于Android XML解析与保存的实现。需要的朋友参考下

解析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");
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动画工具类的封装实战记录

    Android动画工具类的封装实战记录

    这篇文章主要给大家介绍了关于一次Android动画工具类的封装实战,文中通过示例代码介绍的非常详细,对各位Android开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 解决EditText编辑时hint 在6.0 手机上显示不出来的问题

    解决EditText编辑时hint 在6.0 手机上显示不出来的问题

    下面小编就为大家带来一篇解决EditText编辑时hint 在6.0 手机上显示不出来的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Android简单实现菜单拖拽排序的功能

    Android简单实现菜单拖拽排序的功能

    这篇文章主要介绍了Android简单实现菜单拖拽排序的功能,文章围绕主题展开详细的内容介绍,具有一定的参考价价值,需要的朋友可以参考一下
    2022-07-07
  • Android中BroadcastReceiver(异步接收广播Intent)的使用

    Android中BroadcastReceiver(异步接收广播Intent)的使用

    Broadcast Receiver是Android的五大组件之一,使用频率也很高,用于异步接收广播Intent,本文将详细介绍,需要的朋友可以参考下
    2012-12-12
  • android开发通过Scroller实现过渡滑动效果操作示例

    android开发通过Scroller实现过渡滑动效果操作示例

    这篇文章主要介绍了android开发通过Scroller实现过渡滑动效果,结合实例形式分析了Android Scroller类实现过渡滑动效果的基本原理与实现技巧,需要的朋友可以参考下
    2020-01-01
  • Android中Parcel用法详解

    Android中Parcel用法详解

    这篇文章主要介绍了Android中Parcel用法,结合实例形式较为详细的分析了Parcel数据容器的原理与使用方法,需要的朋友可以参考下
    2016-06-06
  • android截屏功能实现代码

    android截屏功能实现代码

    这篇文章主要为大家详细介绍了android截屏功能的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 使用 Lambda 取代 Android 中的匿名类

    使用 Lambda 取代 Android 中的匿名类

    本文主要介绍使用Lambda 取代 Android 中的匿名类的资料,这里这里了相关资料及简单示例代码帮助大家学习参考此部分的知识,有需要的小伙伴可以参考下
    2016-09-09
  • android底层去掉虚拟按键的实例讲解

    android底层去掉虚拟按键的实例讲解

    今天小编就为大家分享一篇android底层去掉虚拟按键的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Flutter实现图文并茂的列表

    Flutter实现图文并茂的列表

    列表在 App 中是最常见的形式了,在 Flutter 中提供了 ListView 这个组件来实现列表,本篇将通过 ListView 实现一个图文并茂的列表。
    2021-05-05

最新评论