成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android XML讀寫(七)

移動開發(fā) Android
Android 并未提供對 Java StAX API 的支持。但是,Android 確實附帶了一個 pull 解析器,其工作方式類似于 StAX。它允許您的應用程序代碼從解析器中獲取事件,這與 SAX 解析器自動將事件推入處理程序相反。清單 10 顯示了提要解析接口的一個 pull 解析器實現(xiàn)。

與***個 SAX 示例類似,以上代碼完全沒有特定于 Android 的地方。DOM 解析器將所有 XML 文檔讀取到內(nèi)存中,然后允許您使用 DOM API 遍歷 XML 樹、檢索所需的數(shù)據(jù)。這是非常直觀的代碼,并且,在某些方面比基于 SAX 的實現(xiàn)更加簡單。但是,DOM 通常更加占用內(nèi)存,因為一切內(nèi)容都會先讀取到內(nèi)存中。這對于運行 Android 的移動設(shè)備來說是一個問題,但是當 XML 文檔始終保持很小的大小時是可行的。這可能意味著,Android 的開發(fā)人員會認為 SAX 解析在 Android 應用程序上更加常見,因此為它提供了額外的實用工具。Android 還提供了另一種類型的 XML 解析器,它就是 pull 解析器。

XML pull 解析器

如前所述,Android 并未提供對 Java StAX API 的支持。但是,Android 確實附帶了一個 pull 解析器,其工作方式類似于 StAX。它允許您的應用程序代碼從解析器中獲取事件,這與 SAX 解析器自動將事件推入處理程序相反。清單 10 顯示了提要解析接口的一個 pull 解析器實現(xiàn)。

清單 10. 基于 Pull 解析器的實現(xiàn)

java代碼:

  1. public class XmlPullFeedParser extends BaseFeedParser { 
  2. public XmlPullFeedParser(String feedUrl) { 
  3. super(feedUrl); 
  4. public List< Message > parse() { 
  5. List< Message > messages = null
  6. XmlPullParser parser = Xml.newPullParser(); 
  7. try { 
  8. // auto-detect the encoding from the stream 
  9. parser.setInput(this.getInputStream(), null); 
  10. int eventType = parser.getEventType(); 
  11. Message currentMessage = null
  12. boolean done = false
  13. while (eventType != XmlPullParser.END_DOCUMENT && !done){ 
  14. String name = null
  15. switch (eventType){ 
  16. case XmlPullParser.START_DOCUMENT: 
  17. messages = new ArrayList< Message >(); 
  18. break
  19. case XmlPullParser.START_TAG: 
  20. name = parser.getName(); 
  21. if (name.equalsIgnoreCase(ITEM)){ 
  22. currentMessage = new Message(); 
  23. else if (currentMessage != null){ 
  24. if (name.equalsIgnoreCase(LINK)){ 
  25. currentMessage.setLink(parser.nextText()); 
  26. else if (name.equalsIgnoreCase(DESCRIPTION)){ 
  27. currentMessage.setDescription(parser.nextText()); 
  28. else if (name.equalsIgnoreCase(PUB_DATE)){ 
  29. currentMessage.setDate(parser.nextText()); 
  30. else if (name.equalsIgnoreCase(TITLE)){ 
  31. currentMessage.setTitle(parser.nextText()); 
  32. break

 

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

2013-06-09 10:04:35

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

2013-06-09 12:49:15

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

2013-06-09 13:07:23

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

2013-06-09 10:18:29

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

2013-06-09 10:25:56

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

2013-06-09 10:37:53

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

2013-06-09 11:31:13

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

2011-11-08 10:01:53

TinyXML

2013-06-08 13:02:11

Android開發(fā)XML解析

2013-06-08 11:04:18

Android開發(fā)Pull解析XMLAndroid XML

2022-03-24 12:15:50

MySQL數(shù)據(jù)庫讀寫分離

2010-12-23 09:11:17

讀寫Android文件

2013-06-08 12:49:03

Android開發(fā)XML定義菜單

2013-06-08 13:07:54

Android開發(fā)Android UILayout XML屬

2013-06-08 13:18:50

Android開發(fā)XML構(gòu)造技巧XML解析

2010-01-25 18:22:33

Android使用XM

2013-06-08 13:37:28

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

2013-06-08 11:13:00

Android開發(fā)XML解析

2013-04-01 14:35:10

Android開發(fā)Android自定義x

2013-06-08 13:29:27

Android開發(fā)DOM讀取XMLXML解析
點贊
收藏

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

主站蜘蛛池模板: 日一日操一操 | 亚洲精品久久久久avwww潮水 | 国产精品日产欧美久久久久 | 国产高潮av | 日韩欧美在线观看 | 一级免费毛片 | 日本在线一二 | 日韩精品1区2区3区 国产精品国产成人国产三级 | 狠狠干av | 国产一区二区三区 | 女人一区 | 三级免费 | 国产高清在线 | 精品一区二区三区四区五区 | 精品国产乱码久久久久久闺蜜 | 性做久久久久久免费观看欧美 | 日韩高清国产一区在线 | 91免费视频 | 精品国产精品三级精品av网址 | 日韩av最新网址 | 日本精品一区二区三区在线观看视频 | 毛片毛片毛片毛片 | 欧美一区二区黄 | 日韩在线一区二区三区 | 欧美福利 | 97天天干| 91久久| 国产精品免费视频一区 | www.一区二区 | 怡红院成人在线视频 | 男人天堂手机在线视频 | 久艹av| 欧美中文字幕在线观看 | 粉嫩粉嫩芽的虎白女18在线视频 | 午夜精品影院 | 欧美激情在线精品一区二区三区 | 中文字幕在线观看精品 | 超碰人人人人 | 欧美性tv | 国产精品视频在线播放 | 国产日韩一区二区三区 |