自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android PULL解析XML

移動(dòng)開發(fā) Android
本文建議Android的開發(fā)者采用PULL技術(shù)解析XML文檔.跟SAX類似,只不過PULL技術(shù)返回的事件類型是整型,所以我們只要對返回的事件進(jìn)行處理就行了.

Android系統(tǒng)中采用PULL技術(shù)解析XML文檔比用SAX技術(shù)性能要好得多.建議Android的開發(fā)者采用PULL技術(shù)解析XML文檔.跟SAX類似,只不過PULL技術(shù)返回的事件類型是整型,所以我們只要對返回的事件進(jìn)行處理就行了.

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. * ****/ 
  14. public class PULLPersionService { 
  15. public static List<Persion> getPersino(InputStream is)throws Exception{ 
  16. List<Persion> list = null
  17. Persion persion = null
  18. XmlPullParser parser = Xml.newPullParser(); 
  19. parser.setInput(is, "UTF-8"); 
  20. int event = parser.getEventType(); 
  21. while(event != XmlPullParser.END_DOCUMENT){ 
  22. switch (event){ 
  23. case XmlPullParser.START_DOCUMENT: 
  24. 30. list = new ArrayList<Persion>(); 
  25. break
  26. case XmlPullParser.START_TAG: 
  27. if("person".equals(parser.getName())){//得到指針?biāo)赶虻墓?jié)點(diǎn)名稱 
  28. int id = Integer.parseInt(parser.getAttributeValue(0)); 
  29. persion = new Persion(); 
  30. persion.setId(id); 
  31. if(persion != null){ 
  32. if("name".equals(parser.getName())){ 
  33. String name = parser.nextText(); 
  34. persion.setName(name); 
  35. }else if("age".equals(parser.getName())){ 
  36. String age = parser.nextText(); 
  37. persion.setName(age); 
  38. break
  39. case XmlPullParser.END_TAG: 
  40. if("person".equals(parser.getName())){ 
  41. list.add(persion); 
  42. persion = null
  43. break
  44. default
  45. break
  46. event = parser.next(); 
  47. return list; 
  48. public static void save(List<Persion> list,OutputStream os) throws IllegalArgumentException, IllegalStateException, IOException{ 
  49. XmlSerializer serializer = Xml.newSerializer(); 
  50. serializer.setOutput(os, "UTF-8"); 
  51. serializer.startDocument("UTF-8"true); 
  52. serializer.startTag(null"persons"); 
  53. for(Persion persion : list){ 
  54. serializer.startTag(null"person"); 
  55. serializer.attribute(null"id", String.valueOf(persion.getId())); 
  56. serializer.startTag(null"name"); 
  57. serializer.text(persion.getName()); 
  58. serializer.endTag(null"name"); 
  59. serializer.startTag(null"age"); 
  60. serializer.text(String.valueOf(persion.getAge())); 
  61. serializer.endTag(null"age"); 
  62. serializer.endTag(null"person"); 
  63. serializer.endTag(null"persons"); 
  64. serializer.endDocument(); 
  65. os.flush(); 
  66. os.close(); 

責(zé)任編輯:閆佳明 來源: my.eoe.cn
相關(guān)推薦

2013-06-08 13:37:28

Android開發(fā)XML解析Pull方式

2010-01-25 18:22:33

Android使用XM

2011-03-30 17:32:28

androidmaniAndroid開發(fā)

2014-12-31 14:09:23

xml解析

2013-06-08 17:09:35

Android開發(fā)移動(dòng)開發(fā)XML解析

2012-05-23 13:17:43

JavaJdomXML

2009-09-09 14:40:15

C# XML解析

2022-03-22 09:41:31

Java編程語言持久化

2011-08-04 18:39:32

iOS XML

2012-08-16 15:56:33

XML

2010-09-28 10:03:15

DOM文檔對象模型

2011-02-22 14:10:25

PHPXML

2009-09-09 13:57:28

C# XML解析

2010-09-09 13:55:47

XML DOM

2013-06-08 13:02:11

Android開發(fā)XML解析

2010-07-26 15:06:29

Perl解析XML文件

2009-02-17 11:23:08

2013-06-09 12:53:05

Android開發(fā)XML讀寫XML解析

2013-06-09 10:37:53

Android開發(fā)XML讀寫XML解析

2013-06-09 10:18:29

Android開發(fā)XML讀寫XML解析
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)