全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android XmlPullParser 方式解析 Xml 文档

Android XmlPullParser 方式解析 Xml 文档

xml 文件格式

<?xml version="1.0" encoding="UTF-8"?>
<persons>
  <person id="1">
    <name>张三</name>
    <age>22</age>
  </person>
  <person id="2">
    <name>李四</name>
    <age>20</age>
  </person>
</persons>

XmlPullParser 方式解析 xml 文件

import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;
import com.eboy.domain.Person;
import android.util.Xml;
 
public class PersonService {
 public static List<Person> getPersons(InputStream xml) throws Exception {
  List<Person> persons = null;
  Person person = null;
  XmlPullParser pullParser = Xml.newPullParser();
  pullParser.setInput(xml, "UTF-8"); // 为Pull解释器设置要解析的XML数据
  int event = pullParser.getEventType();
 
  while (event != XmlPullParser.END_DOCUMENT) {
 
   switch (event) {
 
   case XmlPullParser.START_DOCUMENT:
    persons = new ArrayList<Person>();
    break;
   case XmlPullParser.START_TAG:
    if ("person".equals(pullParser.getName())) {
     int id = Integer.valueOf(pullParser.getAttributeValue(0));
     person = new Person();
     person.setId(id);
    }
    if ("name".equals(pullParser.getName())) {
     String name = pullParser.nextText();
     person.setName(name);
    }
    if ("age".equals(pullParser.getName())) {
     int age = Integer.valueOf(pullParser.nextText());
     person.setAge(age);
    }
    break;
 
   case XmlPullParser.END_TAG:
    if ("person".equals(pullParser.getName())) {
     persons.add(person);
     person = null;
    }
    break;
 
   }
 
   event = pullParser.next();
  }
  return persons;
 }
 
 /**
  * 保存数据到xml文件中
  * @param persons
  * @param out
  * @throws Exception
  */
 public static void save(List<Person> persons, OutputStream out) throws Exception {
  XmlSerializer serializer = Xml.newSerializer();
  serializer.setOutput(out, "UTF-8");
  serializer.startDocument("UTF-8", true);
  serializer.startTag(null, "persons");
  for (Person person : persons) {
   serializer.startTag(null, "person");
   serializer.attribute(null, "id", person.getId().toString());
   serializer.startTag(null, "name");
   serializer.text(person.getName().toString());
   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();
  out.flush();
  out.close();
 }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # XmlPullParser  # 解析  # Xml  # 文档  # Android编程解析XML文件的方法详解【基于XmlPullParser】  # Android编程使用pull方式解析xml格式文件的方法详解  # 详解Android之解析XML文件三种方式(DOM  # PULL  # SAX)  # Android解析XML(PULL)展示到ListView  # Android平台基于Pull方式对XML文件解析与写入方法详解  # 实例解析Android中使用Pull解析器解析XML的方法  # android4.0混淆XmlPullParser报错原因分析解决  # Android pull解析xml的实现方法  # 希望能  # 谢谢大家  # 李四  # util  # OutputStream  # org  # List  # ArrayList  # InputStream  # java  # io  # import  # public 


相关文章: 建站主机服务器选购指南:轻量应用与VPS配置解析  制作证书网站有哪些,全国城建培训中心证书查询官网?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何实现建站之星域名转发设置?  如何在Golang中使用replace替换模块_指定本地或远程路径  建站之星ASP如何实现CMS高效搭建与安全管理?  建站之星备案流程有哪些注意事项?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  制作门户网站的参考文献在哪,小说网站怎么建立?  制作网站外包平台,自动化接单网站有哪些?  如何用免费手机建站系统零基础打造专业网站?  如何打造高效商业网站?建站目的决定转化率  如何选购建站域名与空间?自助平台全解析  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  C#如何序列化对象为XML XmlSerializer用法  小程序网站制作需要准备什么资料,如何制作小程序?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何做网站制作流程,*游戏网站怎么搭建?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何规划企业建站流程的关键步骤?  如何用虚拟主机快速搭建网站?详细步骤解析  已有域名和空间如何快速搭建网站?  网站制作免费,什么网站能看正片电影?  如何挑选高效建站主机与优质域名?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  如何快速登录WAP自助建站平台?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  临沂网站制作企业,临沂第三中学官方网站?  购物网站制作公司有哪些,哪个购物网站比较好?  韩国服务器如何优化跨境访问实现高效连接?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  Thinkphp 中 distinct 的用法解析  济南专业网站制作公司,济南信息工程学校怎么样?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  装修招标网站设计制作流程,装修招标流程?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  建站主机选哪家性价比最高?  南平网站制作公司,2025年南平市事业单位报名时间?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  已有域名如何快速搭建专属网站?  如何快速搭建高效WAP手机网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。