Android中怎么利用PULL解析XML

这篇文章给大家介绍Android中怎么利用PULL解析XML,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联-专业网站定制、快速模板网站建设、高性价比佛坪网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式佛坪网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖佛坪地区。费用合理售后完善,十多年实体公司更值得信赖。

java代码

  1. import java.io.IOException; 

  2. import java.io.InputStream; 

  3. import java.io.OutputStream; 

  4. import java.util.ArrayList; 

  5. import java.util.List; 

  6. import org.xmlpull.v1.XmlPullParser; 

  7. import org.xmlpull.v1.XmlSerializer; 

  8. import android.util.Xml; 

  9. import com.cn.domain.Persion; 

  10. /**** 

  11. * 采用Pull解析XML 

  12. * ****/ 

  13. public class PULLPersionService { 

  14. public static List getPersino(InputStream is)throws Exception{ 

  15. List list = null; 

  16. Persion persion = null; 

  17. XmlPullParser parser = Xml.newPullParser(); 

  18. parser.setInput(is, "UTF-8"); 

  19. int event = parser.getEventType(); 

  20. while(event != XmlPullParser.END_DOCUMENT){ 

  21. switch (event){ 

  22. case XmlPullParser.START_DOCUMENT: 

  23. 30. list = new ArrayList(); 

  24. break; 

  25. case XmlPullParser.START_TAG: 

  26. if("person".equals(parser.getName())){//得到指针所指向的节点名称 

  27. int id = Integer.parseInt(parser.getAttributeValue(0)); 

  28. persion = new Persion(); 

  29. persion.setId(id); 

  30. if(persion != null){ 

  31. if("name".equals(parser.getName())){ 

  32. String name = parser.nextText(); 

  33. persion.setName(name); 

  34. }else if("age".equals(parser.getName())){ 

  35. String age = parser.nextText(); 

  36. persion.setName(age); 

  37. break; 

  38. case XmlPullParser.END_TAG: 

  39. if("person".equals(parser.getName())){ 

  40. list.add(persion); 

  41. persion = null; 

  42. break; 

  43. default: 

  44. break; 

  45. event = parser.next(); 

  46. return list; 

  47. public static void save(List list,OutputStream os) throws IllegalArgumentException, IllegalStateException, IOException{ 

  48. XmlSerializer serializer = Xml.newSerializer(); 

  49. serializer.setOutput(os, "UTF-8"); 

  50. serializer.startDocument("UTF-8", true); 

  51. serializer.startTag(null, "persons"); 

  52. for(Persion persion : list){ 

  53. serializer.startTag(null, "person"); 

  54. serializer.attribute(null, "id", String.valueOf(persion.getId())); 

  55. serializer.startTag(null, "name"); 

  56. serializer.text(persion.getName()); 

  57. serializer.endTag(null, "name"); 

  58. serializer.startTag(null, "age"); 

  59. serializer.text(String.valueOf(persion.getAge())); 

  60. serializer.endTag(null, "age"); 

  61. serializer.endTag(null, "person"); 

  62. serializer.endTag(null, "persons"); 

  63. serializer.endDocument(); 

  64. os.flush(); 

  65. os.close(); 

关于Android中怎么利用PULL解析XML就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:Android中怎么利用PULL解析XML
标题路径:http://scyanting.com/article/pcdijg.html