我正在做一个需要解析XML文件以获取某些属性的c ++程序。 (编辑:我正在做iOS应用程序 - >这可能是一件好事)
编辑:它是一个plist文件(如果它改变了什么,我不知道)(我正在使用Libxml2)。我通过
获得了文件的路径 NSString* path = [[NSBundle mainBundle] pathForResource:@"env-cfg" ofType:@"plist"];
std::string* ret_path = new std::string([path UTF8String]);
return ret_path;
当我尝试打印文件的内容时,我不再拥有XML文件了。它打印出类似这样的东西
bplist00\321[environment\241\324 .... etc
我需要的是用我的c ++代码解析它的原始XML文件。我知道我可以很容易地从Obj-c中的文件中获取数据,但我真的很想在c ++中创建这个部分。有谁知道有没有办法解析该XML文件? (不使用Obj-c)
我不知道我是否清楚
[编辑]:我已将Xcode中的文件类型更改为XML文件。当我打印它时,我没有一个奇怪的输出,正如评论中所说,它是一个二进制文件(不知道为什么它必须在你运行项目时改变)但是无论如何我仍然感兴趣如果有人知道它是否是可以从c ++中获取二进制表单中的xml文件,或者是否有解析二进制文件的方法
非常感谢!
答案 0 :(得分:0)
看起来.plist
文件是二进制格式。在命令行上使用此命令将其转换为XML:
$ plutil -convert xml1 env-cfg.plist