pull解析器解析 生成 xml文件
2016-05-05 17:16
274 查看
写一个xml文件
写一个javabean
业务bean
利用pull解析器,解析xml文件
利用pull解析器生成xml文件
业务bean方法如下
写一个javabean
public class Persion { //persion里面应该具有哪些属性,要根据xml的内容来定 private Integer id; private String name; private Integer age; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Persion [id=" + id + ", name=" + name + ", age=" + age + "]"; } public Persion(Integer id, String name, Integer age) { super(); this.id = id; this.name = name; this.age = age; } public Persion(){} }
业务bean
利用pull解析器,解析xml文件
public class Persionservice{ public static List<Persion> getPersions(InputStream xml) throws Exception{ List<Persion> persons = null; Persion person = null; //初始化pull解析器 XmlPullParser pullParser = Xml.newPullParser(); //为pull解析器设置要解析的xml数据 pullParser.setInput(xml, "UTF-8"); //获得事件 int event = pullParser.getEventType(); while (event != pullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT: //初始化persion persons = new ArrayList<Persion>(); break; case XmlPullParser.START_TAG: if ("persion".equals(pullParser.getName())) { int id = new Integer(pullParser.getAttributeValue(0)); person = new Persion(); person.setId(id);} if ("name".equals(pullParser.getName())) { String name = pullParser.nextText(); person.setName(name); } if ("age".equals(pullParser.getName())) { int age = new Integer(pullParser.nextText()); person.setAge(age); } break; //判断最后节点是否为persion,如果是,则将persion添加到list中去 case XmlPullParser.END_TAG: if ("persion".equals(pullParser.getName())) { persons.add(person); person = null; } break; } event = pullParser.next(); } return persons; }
利用pull解析器生成xml文件
业务bean方法如下
public static void save(List<Persion> persions,OutputStream out) throws Exception{ XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(out, "UTF-8"); serializer.startDocument("UTF-8", true); serializer.startTag(null, "persion"); for (Persion persion :persions) { serializer.startTag(null, "persion"); //属性 serializer.attribute(null, "id", persion.getId().toString()); //子节点 serializer.startTag(null, "name"); serializer.text(persion.getName()); serializer.endTag(null, "name"); serializer.startTag(null, "age"); serializer.text(persion.getAge().toString()); serializer.endTag(null, "age"); } serializer.endTag(null, "persion"); serializer.endDocument(); //刷新后关闭输出流 out.flush(); out.close(); }
相关文章推荐
- 分苹果问题的C++和Python实现
- Oracle数据库语法之【DDL】常用汇总-【更新】
- oracle中的常用函数
- 【Linux 学习笔记】gcc初体验
- 第七周实习笔记:
- 数据结构之排序
- SpringMVC+MyBatis
- hdu1245 Saving James Bond
- 产品经理的工作职责
- 遍历中数组赋值笔记
- 自定义View系列(一)基本概念
- Android中的Audio播放:控制Audio输出通道切换
- java、orcale、javascript、el表达式的四舍五入大全
- runtime 获取设备上所有App的bundle id
- Android实现国际化
- Android ListView 中的CheckBox点击乱系
- String类的常见功能和使用
- Extjs combox获取显示值和ID值
- 断言(ASSERT)的用法
- ntfs共享权限有哪些