通过XML将图像检索到iphone应用程序

通过XML将图像检索到iphone应用程序,iphone,xml,image,Iphone,Xml,Image,我制作了一个iphone应用程序,其中数据通过保存的xml从远程服务器检索。我还想检索XMl中的图像,并在服务器上存储的iphone应用程序中显示它们。请帮助我们如何做到这一点 我现在正在编写一个有这个问题的应用程序——我通过将图像的url放在xml中而不是嵌入图像数据本身来解决这个问题。例如,我的xml如下所示: <images> <image url="http://www.example.com/images/12345.jpg" /> <image

我制作了一个iphone应用程序,其中数据通过保存的xml从远程服务器检索。我还想检索XMl中的图像,并在服务器上存储的iphone应用程序中显示它们。请帮助我们如何做到这一点

我现在正在编写一个有这个问题的应用程序——我通过将图像的url放在xml中而不是嵌入图像数据本身来解决这个问题。例如,我的xml如下所示:

<images>
  <image url="http://www.example.com/images/12345.jpg" />
  <image url="http://www.example.com/images/67890.jpg" />
</images>

在解析xml时,当我点击标记时,我将url存储在一个数组中。解析xml后,我循环遍历数组,并使用NSURLConnection获取每个图像

萨姆


PS我从这个页面找到了如何使用NSURLConnection:

我正在编写一个有这个问题的应用程序-我通过将图像的url放在xml中而不是嵌入图像数据本身来解决这个问题。例如,我的xml如下所示:

<images>
  <image url="http://www.example.com/images/12345.jpg" />
  <image url="http://www.example.com/images/67890.jpg" />
</images>

在解析xml时,当我点击标记时,我将url存储在一个数组中。解析xml后,我循环遍历数组,并使用NSURLConnection获取每个图像

萨姆


PS我从本页了解了如何使用NSURLConnection:

在我的应用程序中,我通过Xml发送和接收图像。为了方便起见,我使用base64编码对图像进行编码/解码。我的编码/解码方法分为两个objective-c类别,一个用于NSData,一个用于NSString。如果对相应的数据类型调用这些方法,我在下面列出了一些示例。这些方法是[NSData BASE64编码]和[NSString BASE64解码]

发送到服务器时

NSLog(@"Compressing Image: JPEG 80%");
NSData *imgData = UIImageJPEGRepresentation(scaledImage, 0.8f);    
NSString *b64String = [imgData base64Encoding];
我的“b64String”变量现在具有图像的base64编码字符串表示形式。现在,您可以将其包装为Xml,并使用正常的NSURLConnection将其发送到服务器

NSData *imgData = [value base64Decoding];
UIImage *image = [[UIImage alloc] initWithData:imgData];
当从服务器接收时。。。(确保您正在从服务器发送base64编码的文本)

您将执行常规的Xml解析,这里我的“value”变量保存来自服务器的base64字符串

NSData *imgData = [value base64Decoding];
UIImage *image = [[UIImage alloc] initWithData:imgData];

您应该能够在Objective-C中查找一些常见的base64编码/解码算法,如果您想让我发布我的方法,请告诉我(它们有点长,所以我在这里不使用它们)。

在我的应用程序中,我通过Xml发送和接收图像。为了方便起见,我使用base64编码对图像进行编码/解码。我的编码/解码方法分为两个objective-c类别,一个用于NSData,一个用于NSString。如果对相应的数据类型调用这些方法,我在下面列出了一些示例。这些方法是[NSData BASE64编码]和[NSString BASE64解码]

发送到服务器时

NSLog(@"Compressing Image: JPEG 80%");
NSData *imgData = UIImageJPEGRepresentation(scaledImage, 0.8f);    
NSString *b64String = [imgData base64Encoding];
我的“b64String”变量现在具有图像的base64编码字符串表示形式。现在,您可以将其包装为Xml,并使用正常的NSURLConnection将其发送到服务器

NSData *imgData = [value base64Decoding];
UIImage *image = [[UIImage alloc] initWithData:imgData];
当从服务器接收时。。。(确保您正在从服务器发送base64编码的文本)

您将执行常规的Xml解析,这里我的“value”变量保存来自服务器的base64字符串

NSData *imgData = [value base64Decoding];
UIImage *image = [[UIImage alloc] initWithData:imgData];

您应该能够在Objective-C中查找一些常见的base64编码/解码算法,如果您想让我发布我的方法,请告诉我(它们有点长,所以我在这里将它们排除在外)。

这是一个非常广泛的问题,需要编写代码。您在流程的哪一部分遇到了问题?这是一个需要编写代码的相当广泛的问题。你在这一过程中遇到了哪些具体问题?嗨,你能不能像我这样发布你的方法,需要帮助,并想看看你是如何做到的。我知道这可能需要很长时间,但它肯定会帮助我和我的朋友。谢谢,你能不能把你的方法贴出来,因为我现在处于这种情况,需要帮助,想看看你是怎么做到的。我知道这可能需要很长时间,但它肯定会帮助我和我的朋友。干杯