源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-04-23 01:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:基于Android XML解析与保存的实现
[b]解析XML文件:[/b] 在Android平台上可以使用SAX、DOM和Android附带的pull解析器解析XML文件; pull解析器提供了各种事件,使用parser.next()方法进入下一个元素并触发相应事件,pull解析器产生的事件是一个数字,可以通过switch对感兴趣的事件进行处理;通过paser.nextText()方法可以获取下一个Text类型的节点的值; http://xmlpull.org/xmlpull-website/impls.shtml; [b]读取XML[/b] XmlPullParser pullParser = Xml.newPullParser(); pullParser.setInput(xml, "UTF-8");//为破解器添加要解析的XML数据 int event = pullParser.getEventType();//开始读取,获取事件返回值 pullParser.getName();//获取节点名称 pullParser.getAttributeValue(0);//获取第一个属性的值 pullParser.nextText();//获取标签之后的节点的内容 event = pullParser.next();//解析器遇到结束标签不会自动向下解析,需要调用此方法进行继续执行; [b]保存文件到XML[/b] 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(); }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部