【发布时间】:2012-04-27 21:33:31
【问题描述】:
我允许将应用程序数据(它是 10.7 上的 Mac 应用程序)导出为 XML 文件,我希望能够从 XML 导出/导入/从 XML 导出/导入的字段是 NSData 字段。这样做的正确/可接受的方式是什么?我应该convert to base64 并将该字符串写入 XML 吗?
我不希望像链接问题的公认答案那样使用类别推出自己的解决方案(链接到Matt Gallagher's solution)。
更新
我刚刚发现了NSPropertyListSerialization 类。我抱有希望,但它只有返回 NSData 表示形式的静态序列化方法。
【问题讨论】:
-
我会避免在 XML (NSData) 中添加原始数据。如果可能的话,我会用原始数据编写另一个文件并将其 URL 添加到 XML 字段。如果这不是一个选项,我会转换为字符串,小心避免像 '>' , '
-
@Mircea 我明白你的意思,但在这种情况下 XML 格式是有意义的。对于表示的实体,二进制字段只是众多字段中的一个,文件中可能有数百个或更多的实体。我更喜欢单个文件的简单性和用户可编辑的特性,而不是创建某种包。
-
您需要特定格式的 XML,还是标准的 Mac OS X 属性列表格式需要?它是纯 XML。
-
@RobKeniger 我正在调查它。我不确定我是否对 plist XML 如何作为节点嵌入到更大的 XML 文档中感到满意——它只是部分转义。
<变为<但>和"保持原样
标签: objective-c xml cocoa xml-serialization base64