如何在IOS中打印xml图像?

时间:2011-10-07 09:23:32

标签: c++ c ios ios4

我创建了一个简单的XML-Parser来解析我的RSS源到我的应用程序。 从xml文件解析的简单的id,currentstatus,picture。 但我无法从XML文件中获取图像。 。我从xml文件中检索所有图像。但noimage.jpg没有显示。能不能请任何帮助我。

XML代码

<Agent>
<id>3422</id>
<currentstatus>Logged Off</currentstatus>
<picture>1</picture>
</Agent>
<Agent>
<id>3432</id>
<currentstatus>Logged Off</currentstatus>
<picture>0</picture>
</Agent>

我尝试了以下代码:

UIImage * cellimages = [[UIImage alloc]init];   
NSString *string1 = @"http://telecomstats.co.uk/images/LLReaderProfile/";
NSString *cellvalue =[[[[self rssParser]rssItems]objectAtIndex:indexPath.row]picture];
NSString* disable = [[NSString alloc] initWithString:@"0"];


if (cellvalue == disable)
{
 cellimages = [UIImage imageWithContentsOfFile:@"http://telecomstats.co.uk/images/LLReaderProfile/noimage.jpg"];
} 
else     {

    cellimages = [string1 stringByAppendingString:[[[[self rssParser]rssItems]objectAtIndex:indexPath.row]id]];
    cellimages = [cellimages stringByAppendingString: @".jpg"];  

}

cellimages = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:cellimages]]];  
cell.imageView.image = cellimages;

有人可以帮助我吗? 感谢您的帮助和见解。

1 个答案:

答案 0 :(得分:0)

您正在使用cellimages这是一个UIImage对象来存储您的else分支中的字符串。当cellvalue == disable为真时,执行此操作:

cellimages = [UIImage imageWithContentsOfFile:@"http://telecomstats.co.uk/images/LLReaderProfile/noimage.jpg"];
cellimages = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:cellimages]]];  

你在UIImage放了[NSURL URLWithString:],这可能不起作用;实际上这段代码应该产生一些警告。尝试在URL字符串和要显示的图像对象之间正确分隔。将所有网址内容放在NSString中,然后在确定正确的网址后获取UIImage

请注意,您的代码还有其他一些问题,尤其是您正在使用dataWithContentsOfURLimageWirhContentsOfFile这两个问题都会阻塞,直到图像被检索为止。这将导致应用程序在使用错误的Internet连接时挂起,如果网络速度太慢,则会导致应用程序崩溃。查看异步下载和使用AFNetworking等框架。