我正在尝试解析 RSS 提要。事情一直很好,但最近在解析 pubDate 元素时它开始搞砸了。这是我的解析代码,以及两个 NSLog,第一个日志来自 RSS Feed 的 pubDate 元素中的内容,第二个日志是我尝试将其转换为 NSDate 时的。由于某种原因,直到今天下午晚些时候,这一切都很好。
- (void)parseRss:(GDataXMLElement *)rootElement entries:(NSMutableArray *)entries {
NSArray *channels = [rootElement elementsForName:@"channel"];
for (GDataXMLElement *channel in channels) {
NSString *blogTitle = [channel valueForChild:@"title"];
NSArray *items = [channel elementsForName:@"item"];
for (GDataXMLElement *item in items) {
NSString *articleTitle = [item valueForChild:@"title"];
NSString *articleUrl = [item valueForChild:@"guid"];
NSString *articleDateString = [item valueForChild:@"pubDate"];
NSLog(@"frompubdate%@", articleDateString);
NSDate *articleDate = [NSDate dateFromInternetDateTimeString:articleDateString formatHint:DateFormatHintRFC822];
NSLog(@"fromdate%@", articleDate);
NSString *articleImage = [item valueForChild:@"description"];
NSDateFormatter * dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
NSString *dateofarticle = [dateFormatter stringFromDate:articleDate];
RSSEntry *entry = [[[RSSEntry alloc] initWithBlogTitle:blogTitle articleTitle:articleTitle articleUrl:articleUrl articleDate:articleDate articleImage:bodyoftext] autorelease];
[entries addObject:entry];
}
}
}
2012 年 10 月 28 日,星期日,中部标准时间
无法解析 RFC822 日期:“Sun, 28 Oct 201209:30:00 CST” 格式可能无效。