我的任务是在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);希望找到一些东西而不是自己的东西。是否有可用的开源实现?
答案 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的源代码编译它,但这是一个真正的噩梦,文件丢失了。所以使用他们的库是一个相当大的捷径。