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

Android xml讀寫(六)

移動開發 Android
所有代碼都是可選的。如果您習慣Java環境中的標準SAX解析代碼,那么您可以堅持使用它。如果您希望嘗試android sdk所提供的便捷的包裝器,那么也可以使用它。如果您完全不希望使用SAX會怎樣呢?可以使用一些備選方案。其中的首選方法就是 DOM。Android完全支持DOM解析,就像在桌面機器或服務器上使用Java代碼運行它一樣。

新的 SAX 解析代碼并未使用 SAX 處理程序,而是使用了 SDK 中的 android.sax 包中的類。這些類允許您構建 XML 文檔的結構,并根據需要添加事件監聽程序。在以上代碼中,您聲明文檔將有一個 de >rssde > 根元素,并且它有一個 de >channelde > 子元素。然后,您聲明 de >channelde > 將有一個 de >ITEMde > 子元素,并且開始添加監聽程序。對于每個監聽程序,您都使用了一個實現了特定接口(de >EndElementListnerde > 或 de >EndTextElementListenerde >)的匿名內部類。注意,您不需要跟蹤字符數據。不僅僅因為這樣會更加簡單,更重要的是更加高效。***,在調用 Xml.parse 實用方法時,您將傳遞一個通過根元素生成的處理程序。

所有代碼都是可選的。如果您習慣 Java 環境中的標準 SAX 解析代碼,那么您可以堅持使用它。如果您希望嘗試 android sdk 所提供的便捷的包裝器,那么也可以使用它。如果您完全不希望使用 SAX 會怎樣呢?可以使用一些備選方案。其中的***方法就是 DOM。

Android 完全支持 DOM 解析,就像在桌面機器或服務器上使用 Java 代碼運行它一樣。顯示了一個基于 DOM 的解析器接口實現。

基于 DOM 的提要解析器實現

java代碼:

  1. public class DomFeedParser extends BaseFeedParser { 
  2. protected DomFeedParser(String feedUrl) { 
  3. super(feedUrl); 
  4. public List< Message > parse() { 
  5. DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
  6. List< Message > messages = new ArrayList< Message >(); 
  7. try { 
  8. DocumentBuilder builder = factory.newDocumentBuilder(); 
  9. Document dom = builder.parse(this.getInputStream()); 
  10. Element root = dom.getDocumentElement(); 
  11. NodeList items = root.getElementsByTagName(ITEM); 
  12. for (int i=0;i< items.getLength();i++){ 
  13. Message message = new Message(); 
  14. Node item = items.item(i); 
  15. NodeList properties = item.getChildNodes(); 
  16. for (int j=0;j< properties.getLength();j++){ 
  17. Node property = properties.item(j); 
  18. String name = property.getNodeName(); 
  19. if (name.equalsIgnoreCase(TITLE)){ 
  20. message.setTitle(property.getFirstChild().getNodeValue()); 
  21. else if (name.equalsIgnoreCase(LINK)){ 
  22. message.setLink(property.getFirstChild().getNodeValue()); 
  23. else if (name.equalsIgnoreCase(DESCRIPTION)){ 
  24. StringBuilder text = new StringBuilder(); 
  25. NodeList chars = property.getChildNodes(); 
  26. for (int k=0;k< chars.getLength();k++){ 
  27. text.append(chars.item(k).getNodeValue()); 
  28. message.setDescription(text.toString()); 
  29. else if (name.equalsIgnoreCase(PUB_DATE)){ 
  30. message.setDate(property.getFirstChild().getNodeValue()); 
  31. messages.add(message); 
  32. catch (Exception e) { 
  33. throw new RuntimeException(e); 
  34. return messages; 

 

責任編輯:閆佳明 來源: my.eoe.cn
相關推薦

2013-06-09 10:18:29

Android開發XML讀寫XML解析

2013-06-09 10:25:56

Android開發XML讀寫XML解析

2013-06-09 10:37:53

Android開發XML讀寫XML解析

2013-06-09 11:31:13

Android開發XML讀寫XML解析

2013-06-09 10:04:35

Android開發XML讀寫XML解析

2013-06-09 12:53:05

Android開發XML讀寫XML解析

2013-06-09 13:07:23

Android開發XML讀寫XML解析

2011-11-08 10:01:53

TinyXML

2013-06-08 13:02:11

Android開發XML解析

2013-06-08 11:04:18

Android開發Pull解析XMLAndroid XML

2010-12-23 09:11:17

讀寫Android文件

2013-06-08 13:07:54

Android開發Android UILayout XML屬

2013-06-08 13:18:50

Android開發XML構造技巧XML解析

2013-06-08 12:49:03

Android開發XML定義菜單

2013-04-01 14:35:10

Android開發Android自定義x

2013-06-08 13:29:27

Android開發DOM讀取XMLXML解析

2010-01-25 18:22:33

Android使用XM

2013-06-08 13:37:28

Android開發XML解析Pull方式

2013-06-08 11:13:00

Android開發XML解析

2021-02-26 20:55:56

JavaNIO隨機
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美福利 | 羞羞的视频免费在线观看 | 午夜大片 | 欧美a在线 | 国产精品毛片一区二区在线看 | 91在线一区 | 久久久久久久久久久久亚洲 | 欧美一级在线观看 | 久久久久久久国产 | 久久国产精品久久久久久久久久 | 伊人久久成人 | 成人乱人乱一区二区三区软件 | 成人亚洲网 | 日本黄色免费视频 | 精品久久伊人 | 天天夜夜操 | 久久精品亚洲精品 | 久久久性| 欧美视频一区二区三区 | 精品国产一区一区二区三亚瑟 | 一区二区三区欧美在线观看 | 国产成人高清视频 | 99热这里都是精品 | 久久精品国产一区二区三区不卡 | 国产一区 在线视频 | 亚洲国产精品人人爽夜夜爽 | 中文字幕日韩欧美一区二区三区 | 久久久久99 | 国产精品日日摸夜夜添夜夜av | 日韩1区 | 国产精品99久久久久久动医院 | 国产成人高清 | 亚洲午夜视频 | 久久久久www | 丝袜美腿一区二区三区 | 精品久久久久久久 | 国产激情视频 | 干干干日日日 | 久久综合久色欧美综合狠狠 | 久久久久国产 | 狠狠躁夜夜躁人人爽天天高潮 |