apple的c ++属性列表(plist)实现

时间:2009-10-08 17:41:41

标签: c++

我的任务是在c ++应用程序中阅读Apple的属性列表文件。主要关注OS X中指定的xml类型的plist文件,它模仿xml类型的实现。这里描述了Apple的属性列表实现:

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man5/plist.5.html

我想知道是否有可用的类或库已经可以在标准c ++中读取这种类型的实现(不是Objective-C);希望找到一些东西而不是自己的东西。是否有可用的开源实现?

3 个答案:

答案 0 :(得分:1)

PList文件不仅模仿XML,还包括XML,包括有效的XML标头。

任何XML阅读器都应该能够解析这些文件。如果您正在寻找一个抽象文件的逻辑类,我不知道任何现有文件。鉴于Apple的文档,您应该能够自己编写一个XML阅读器,尽管完全兼容需要一些工作。

答案 1 :(得分:1)

对于主题入门者来说,为时已晚,但也许对某些人有帮助

https://github.com/animetrics/PlistCpp

  

这是C ++属性列表(plist)序列化库(MIT许可证)。   它支持plist格式的XML和二进制版本,并且旨在   成为具有最小依赖性的跨平台。

答案 2 :(得分:0)

该目标是否具体?

对于Windows,有一个粗略的解决方案,包括使用iTunes动态库的功能来解析plist文件(二进制或纯文本格式工作)。

这是最初用于连接iPod的代码,但您可以轻松地提取您感兴趣的少数功能。

存储库位于此项目页面上:http://code.google.com/p/t-pot/

查找文件iPoTApi.h和iPoTApi.cpp,类TranslatePLIST的函数CiPoTApi

我希望有一个更好的解决方案,当时我试图从针对Windows的Apple的源代码编译它,但这是一个真正的噩梦,文件丢失了。所以使用他们的库是一个相当大的捷径。