0

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

非常感谢 !

4

1 回答 1

0

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

$ plutil -convert xml1 env-cfg.plist
于 2013-09-16T15:24:53.870 回答