基于Android XML解析与保存的实现
来源:互联网 发布:淘宝发表论文靠谱吗 编辑:程序博客网 时间:2024/06/05 15:19
解析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解析与保存的实现
- xml解析与保存
- Android中的XML解析与生成——Pull解析xml、实现xml文件的生成
- 基于dom4j的xml创建与解析
- Android中用pull解析与保存xml文件
- Android---40---实现XMl文件的序列化与解析
- Android中XML解析,保存的三种方法
- Android实现XML解析
- android实现xml数据的解析
- android xml文件的生成与解析
- 使用XML文件进行数据的保存与解析XML文件
- 基于Qt的xml解析
- 基于Android TextureView与SurfaceTexture实现相机Camera拍照预览与保存照片
- android---实现登录用户信息保存(XML)
- 一个基于XML的考试系统的设计与实现
- Android实现XML解析技术
- Android实现XML解析技术
- Android实现XML解析技术
- Eclipse下NDK开发与调试
- [Android] 浅析总结 AS 中 Gradle 配置运行
- Sencha Touch高性能list最简单高效的实现方案
- leetcod_194_transpose_file
- 学习笔记
- 基于Android XML解析与保存的实现
- java中volatile关键字的含义
- 在linux系统下搭建SVN服务器
- c#多线程__Semaphore
- 数据结构之二叉树_BinTree
- Java问题排查常用linux命令
- 指针的学习
- error:LNK2005 已经在*.obj中定义
- appStore检查版本更新与从app里跳到appstore评论页面