C++plist读写器。支持XML和二进制Apple属性列表(plist)格式。
-----------------
描述
-----------------
这是一个C++属性列表(plist)序列化库(MIT许可证)。
它支持plist格式的XML和二进制版本,旨在
跨平台,依赖性最小。界面只是一组
将stdlib容器子集序列化为plist的静态方法(以及
作为将plist反序列化到stdlib容器的逆操作)。
它使用boost::any作为泛型类型,以支持异构
容器,例如字典是一个映射<string,any>,数组是一个
向量<任意>。支持的stdlib容器及其与plist的关联
类型如下所示。
plist C++
__________________________________________________________________________________
string std::string
整数short、int、long、int32_t、int64_t(始终反序列化为int64_ts)
实数double,float(总是反序列化为double)
字典std::map<std::string,boost::any>
数组std::vector<boost::any>
日期PlistDate(包含在PlistDate.hpp中的类)
数据std::vector<char>
布尔布尔值
-----------------
用法
-----------------
有关读取和写入所有类型的示例,请参阅src/plistTests.cpp
XML和二进制。例如,从根节点为的磁盘读取plist
字典:
map<string,boost::any>字典;
Plist::readPlist(“二进制示例1.Plist”,字典);
plist格式(二进制或XML)会自动检测,因此请调用相同的格式
XML的readPlist方法
Plist::readPlist(“XMLExample1.Plist”,字典);
写一本词典
map<string,boost::any>字典;
大众词典;
Plist::writePlistXML(“xmlExampleWriten.Plist”,字典);
对于二进制plist
Plist::writePlistBinary(“binaryExampleWriten.Plist”,字典);
其他公共方法允许从流和字节进行读写
阵列。再次,请参阅测试套件代码src/plistTests.cpp以获取全面的
示例。
-----------------
局限性
-----------------
目前不支持Unicode字符串。
-----------------
安装
-----------------
只需复制src/Plist.hpp、src/PlistDate.hpp、src/pugixml.hpp,
将src/pugiconfig.hpp、src/b646.hpp和src/pugixml.cpp添加到您的项目中。如果你
不要在您的系统上安装boost::任何,也要获取include/boost
文件夹,其中包含boost::any所需的最小boost标头。
编译和运行测试套件(测试套件也将自动运行
构建后过程的一部分)。注意,UnitTest++库是必需的
包括。
OSX,Linux(对于Linux,请在下面将OSX更改为Linux):
mkdir-p OSX/发布
cd OSX/发布
cmake-DCMAKE_BUILD_TYPE=发布../。。
制作
cd…//
sh runTests.sh发布OSX
以及用于调试
mkdir-p OSX/调试
cd OSX/调试
cmake-DCMAKE_BUILD_TYPE=调试../。。
制作
cd…//
sh runTests.sh调试OSX
窗户:
cd Windows
cmake。。
启动Plist.sln(构建解决方案)
cd。。
runTests.bat发布
游客,本帖隐藏的内容需要积分高于 2 才可浏览,您当前积分为 0
提取码下载:
|