android解析plist文件 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

    plist,即property list,是苹果手机软件开发中经常用到的存储文件格式,其实质就是XML文件,但是它遵循一定的格式,

android解析plist文件

。比如包含一些指定的元素,如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项目的类路径里,

电脑资料

android解析plist文件》(https://www.unjs.com)。

    三:解析该文件,并将解析信息打印在控制台。(因为该文件不算太小,因此在新线程中运行,防止主线程卡死)

    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(); 

最新文章