Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android解析plist文件

android解析plist文件

編輯:關於Android編程

android解析plist文件

plist,即property list,是蘋果手機軟件開發中經常用到的存儲文件格式,其實質就是XML文件,但是它遵循一定的格式。比如包含一些指定的元素,如plist,array,string,key等。蘋果提供了解析該類文件的機制,可惜在安卓開發工具中卻沒有提供。經常遇到的情況是,在開發蘋果和安卓手機軟件的時候,要統一資源文件,這個時候,我們可以采用GitHub中提供的開源android-plist-parser解決方案。

比如我們要解析一個全國省市區的一個plist文件:


xml version="1.0" encoding="UTF-8"?> 
 
 
 
    0 
     
        北京市 
         
            0 
             
                北京市 
                 
                    東城區 
                    西城區 
                    朝陽區 
                    豐台區 
                    石景山區 
                    海澱區 
                    門頭溝區 
                    房山區 
                    通州區 
                    順義區 
                    昌平區 
                    大興區 
                    懷柔區 
                    平谷區 
                    密雲縣 
                    延慶縣 
                 
             
         
     
        ... 
        ... 
        ... 
 
 





 0
 
  北京市
  
   0
   
    北京市
    
     東城區
     西城區
     朝陽區
     豐台區
     石景山區
     海澱區
     門頭溝區
     房山區
     通州區
     順義區
     昌平區
     大興區
     懷柔區
     平谷區
     密雲縣
     延慶縣
    
   
  
 
        ...
        ...
        ...



那麼如何在android中解析呢?


一:在GitHub上下載android-plist-parser


二:解壓下載的包,並導入android項目的類路徑裡。


三:解析該文件,並將解析信息打印在控制台。(因為該文件不算太小,因此在新線程中運行,防止主線程卡死)


new Thread(new Runnable() { 
        @Override 
        public void run() { 
            PListXMLParser parser = new PListXMLParser();                // 基於SAX的實現  
            PListXMLHandler handler = new PListXMLHandler(); 
            parser.setHandler(handler); 
             
            try { 
                parser.parse(getAssets().open("area.plist"));        // area.plist是你要解析的文件,該文件需放在assets文件夾下  
            } catch (IllegalStateException e) { 
                e.printStackTrace(); 
            } catch (IOException e) { 
                e.printStackTrace(); 
            } 
             
            PList actualPList = ((PListXMLHandler) parser.getHandler()).getPlist(); 
            Dict root = (Dict) actualPList.getRootElement(); 
 
            Map provinceCities = root.getConfigMap(); 
                     
            for(int i=0; i province = provinceRoot.getConfigMap(); 
                 
                String provinceName = province.keySet().iterator().next(); 
                System.out.println("省份為:" + provinceName);                      // 打印省份  
                 
                Dict cityRoot = (Dict) province.get(provinceName); 
                 
                Map cities = cityRoot.getConfigMap(); 
                 
                for(int j=0;j provinceCities = root.getConfigMap();
     
   for(int i=0; i cities = cityRoot.getConfigMap();
    
    for(int j=0;j province = provinceRoot.getConfigMap();
    
    String provinceName = province.keySet().iterator().next();
    




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved