Java解析plist文件

Posted

技术标签:

【中文标题】Java解析plist文件【英文标题】:Java parse plist file 【发布时间】:2018-01-09 13:40:34 【问题描述】:

我需要读取Java 中的.plist 文件并从中提取信息。 我在 *** (This solution) 上找到了一个解决方案,并将其调整为 Commons Configuration 2.x。 我的代码:

public void parsePlist(File f) throws ConfigurationException, FileNotFoundException 
        XMLPropertyListConfiguration plist = new XMLPropertyListConfiguration();
        // load plist from classoath
        BufferedReader br = new BufferedReader(new FileReader(f));
        plist.read(br);
        Iterator<String> keys = plist.getKeys("dictionary");
        while (keys.hasNext()) 
            // do someting with the value
            System.out.println(plist.getString(keys.next()));
        

    

文件 f 是 .plist 文件。 现在文件的结构如下:

<key>dictionary</key>
         <array>
         <dict>
             <key>key1</key>
             <string>value1</string>
             <key>key2</key>
             <string>value2</string>
             <key>key3</key>
             <string>value3</string>
         </dict>
        </array>

当我尝试获取键“字典”的内容时,结果为 null。当&lt;array&gt; 被删除时,它工作正常。 这是我编写的测试文件的一部分,我可以简单地删除&lt;array&gt;,但我打算解析这部分的文件无法删除。 我需要做什么才能进入array

【问题讨论】:

好吧,如果它似乎没有做任何事情,请在调试器中运行它并逐步完成。 (或者只是用打印语句逐行运行......) 是的,你是对的,我是盲人,但我遇到了一个新问题并改变了我的问题。 【参考方案1】:

我认为你应该寻找 'dict' 而不是 'dictionary'。

【讨论】:

以上是关于Java解析plist文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中解析 plist 文件

Android解析Plist文件

解析 plist 文件并获取键的值

如何将此 .plist 文件直接解析为 Swift 中的对象?

cocos2dx-深度解析plist文件(游戏对象的数据如何从plist创建获取)

Racket 中的 Plist/XML 解析