ios - 在 RSS iOS 中解析图像

标签 ios objective-c rss

伙计们。 请帮我... 我正在解析这个 RSS channel

<item><title>Более 100 военных запаса после учений пошли на контрактную службу</title><link>http://www.ria.ru/defense_safety/20141004/1026910957.html</link><guid>http://www.ria.ru/defense_safety/20141004/1026910957.html</guid><rian:related xmlns:rian="http://rian.ru"><rian:url>http://ria.ru/export/rss2/defense_safety/20140923/1025254076.xml</rian:url></rian:related><rian:priority xmlns:rian="http://rian.ru">3</rian:priority><pubDate>Sat, 04 Oct 2014 14:33:00 +0400</pubDate><description>Первый заместитель Главного организационно-мобилизационного управления Генштаба ВС РФ Евгений Бурдинский объяснил желание "запасников" перейти на военную службу положительными изменениями в российских войсках.</description><rian:type xmlns:rian="http://rian.ru">article</rian:type><category>Безопасность</category><enclosure url="http://cdn5.img22.ria.ru/images/102532/27/1025322746.jpg" type="image/jpeg" length="27833"/></item>

而且我无法解析 RSS 图像。我可以使用什么键来导入图像? 不幸的是,我不明白。

这是我的代码,帮我解析RSS

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {

    element = elementName;

    if ([element isEqualToString:@"item"]) {

        item    = [[NSMutableDictionary alloc] init];
        title   = [[NSMutableString alloc] init];
        link    = [[NSMutableString alloc] init];
        pubDate = [[NSMutableString alloc] init];
    }

}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

    if ([elementName isEqualToString:@"item"]) {

        [item setObject:title forKey:@"title"];
        [item setObject:link forKey:@"link"];
        [item setObject:pubDate forKey:@"pubDate"];

        [feeds addObject:[item copy]];

    }

}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

    if ([element isEqualToString:@"title"]) {
        [title appendString:string];
    } else if ([element isEqualToString:@"link"]) {
        [link appendString:string];
    } else if ([element isEqualToString:@"pubDate"]) {
        [pubDate appendString:string];
    }

}

- (void)parserDidEndDocument:(NSXMLParser *)parser {

    [self.tableView reloadData];
    [self.refreshControl endRefreshing];
    NSLog(@"%@", feeds);

}

最佳答案

我想您要下载的图像是您的 XML 中的“附件”字段。

didStartElement: 方法中,使用attributeDict 参数获取“enclosure”字段的“url”、“type”和“length”参数。 获得 URL 后,您可以使用 NSURLConnection对象

关于ios - 在 RSS iOS 中解析图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194627/

相关文章:

objective-c - 为每个 UITableViewCell 设置高度后获取 UITableViewCell 的高度

iphone - 如何从另一个由 UIButton 调用的函数访问动态 UIView

css - 更改边框 CSS 的宽度

WordPress RSS Feed 返回 404

mysql - 使用 XSLT 将 RSS pubDate 转换为 mySQL 时间戳格式

ios - 使用 lldb 呈现 ViewController

iphone - Google Analytics 独特购买突然停止工作

iOS)如何制作顶部和底部固定 View 的Tab View

ios - 展开 Segue 会产生清晰的导航栏

objective-c - 如何使用Mavericks API全屏显示您的应用