Pull解析器解析XML文件

前端之家收集整理的这篇文章主要介绍了Pull解析器解析XML文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. package com.study.service;
  2.  
  3. import java.io.InputStream;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6.  
  7. import org.xmlpull.v1.XmlPullParser;
  8.  
  9. import android.util.Xml;
  10.  
  11. import com.study.domain.Person;
  12.  
  13. public class PersonService {
  14. public List<Person> getPersons(InputStream xml) throws Exception {
  15. List<Person> persons = null;
  16. Person person = null;
  17. XmlPullParser pullParser = Xml.newPullParser();// 得到破解器
  18. pullParser.setInput(xml,"UTF-8");
  19. int event = pullParser.getEventType();
  20. while (event != XmlPullParser.END_DOCUMENT) {
  21. switch (event) {
  22. case XmlPullParser.START_DOCUMENT:// 开始文档
  23. persons = new ArrayList<Person>();
  24. break;
  25. case XmlPullParser.START_TAG:// 小标签
  26. if ("person".equals(pullParser.getName())) {
  27. int id = new Integer(pullParser.getAttributeValue(0));
  28. person = new Person();
  29. person.setId(id);
  30. }
  31. if ("name".equals(pullParser.getName())) {
  32. String name = pullParser.nextText();
  33. person.setName(name);
  34. }
  35. if ("age".equals(pullParser.getName())) {
  36. int age = new Integer(pullParser.nextText());
  37. person.setAge(age);
  38. }
  39. break;
  40. case XmlPullParser.END_TAG:
  41. persons.add(person);
  42. person = null;
  43. }
  44. event = pullParser.next();
  45. }
  46. return persons;
  47. }
  48. }
  49.  
  50. package com.study.domain;
  51.  
  52. public class Person {
  53. private int id;
  54. private String name;
  55. private int age;
  56. public int getId() {
  57. return id;
  58. }
  59. public void setId(int id) {
  60. this.id = id;
  61. }
  62. public String getName() {
  63. return name;
  64. }
  65. public void setName(String name) {
  66. this.name = name;
  67. }
  68. public int getAge() {
  69. return age;
  70. }
  71. public void setAge(int age) {
  72. this.age = age;
  73. }
  74. }
  75.  
  76. <?xml version="1.0" encoding="UTF-8"?>
  77. <persons>
  78. <person id="23">
  79. <name>lining</name>
  80. <age>30</age>
  81. </person>
  82. <person id="20">
  83. <name>tianchenglin</name>
  84. <age>21</age>
  85. </person>
  86. </persons>

猜你在找的XML相关文章