温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中怎么利用PULL解析XML

发布时间:2021-06-26 15:48:40 来源:亿速云 阅读:160 作者:Leah 栏目:移动开发

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

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<Persion> getPersino(InputStream is)throws Exception{ 

  15. List<Persion> 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<Persion>(); 

  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<Persion> 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就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI