【发布时间】:2013-09-20 15:10:50
【问题描述】:
我正在做一个需要解析 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 文件。当我打印它时,我不再有奇怪的输出了,就像在 cmets 中所说的那样,它是一个二进制文件(不知道为什么在运行项目时它必须改变)但无论如何,如果有人知道它是否是,我仍然很感兴趣可以从 C++ 中获取二进制形式的 xml 文件,或者是否有办法解析二进制文件
非常感谢!
【问题讨论】:
-
是二进制plist吗?
-
它是一个二进制 plist吗?去命令行看看
file这个命令是怎么想的。 -
何对不起,我不知道它们是不同类型的 plist,不,它不应该是二进制 plist。但是我得到编译后,它变成了一个,也许?有没有什么函数可以把它转换回xml文件?
-
似乎当我把它作为一个普通的 xml 文件放在 Xcode 中时,它可以工作,我可以解析它。我的问题已经解决了,但我仍然对使用常规信息列表的可能性感兴趣
-
文件的 XML 版本是“常规”plist 文件。
标签: c++ ios objective-c xml xml-parsing