XML数据文本+二进制

时间:2010-08-16 06:33:34

标签: iphone objective-c xml xml-serialization

我构建了一个从服务器获取信息的iPhone应用程序(这也是我构建的服务器)。 来自服务器的数据是XML,我使用XML解析器来解析消息。 我想要的是添加一个要从服务器发送的图像,我问我是否可以将这样的图像的二进制数据添加到XML消息中。例如,10个标签将是文本,1个标签将是二进制(图像)。因此,当XML解析器到达二进制标记时,它会将数据插入NSDATA对象,其余标记将插入NSString

Cocoa的XML解析器是否可以处理这种情况?

如果没有,您认为通过一次连接到服务器的最简单方法是什么,以便从服务器发送一次数据。

2 个答案:

答案 0 :(得分:1)

要传输XML格式的二进制数据,请使用例如Base64,它将您的二进制数据转换为不会弄乱XML的字符。

答案 1 :(得分:1)

您可以传输使用Base64编码的图像数据。 Matt Gallagher的这个NSData类别为NSData添加了Base64解码支持(dateFromBase64String)。您可以在他的Cocoa with love网站上找到它。

请注意,在Base64中对图像进行编码会增加大约33%的文件大小。