我构建了一个从服务器获取信息的iPhone应用程序(这也是我构建的服务器)。
来自服务器的数据是XML
,我使用XML解析器来解析消息。
我想要的是添加一个要从服务器发送的图像,我问我是否可以将这样的图像的二进制数据添加到XML消息中。例如,10个标签将是文本,1个标签将是二进制(图像)。因此,当XML解析器到达二进制标记时,它会将数据插入NSDATA
对象,其余标记将插入NSString
。
Cocoa
的XML解析器是否可以处理这种情况?
如果没有,您认为通过一次连接到服务器的最简单方法是什么,以便从服务器发送一次数据。
答案 0 :(得分:1)
要传输XML格式的二进制数据,请使用例如Base64,它将您的二进制数据转换为不会弄乱XML的字符。
答案 1 :(得分:1)
您可以传输使用Base64编码的图像数据。 Matt Gallagher的这个NSData类别为NSData添加了Base64解码支持(dateFromBase64String)。您可以在他的Cocoa with love网站上找到它。
请注意,在Base64中对图像进行编码会增加大约33%的文件大小。