IOS从资源获取XML文件以在c ++中处理它

时间:2013-09-16 12:49:41

标签: c++ ios objective-c xml xml-parsing

我正在做一个需要解析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文件,或者是否有解析二进制文件的方法

非常感谢!

1 个答案:

答案 0 :(得分:0)

看起来.plist文件是二进制格式。在命令行上使用此命令将其转换为XML:

$ plutil -convert xml1 env-cfg.plist