私のアプリでは、XML フィード パーサーを使用してすべてのコンテンツを取得しました。しかし 、パーサーに含まれている画像の null 配列を取得しました。
解析用の私のコードは次のとおりです。
#pragma mark MWFeedParserDelegate
- (void)feedParserDidStart:(MWFeedParser *)parser {
NSLog(@"Started Parsing: %@", parser.url);
}
- (void)feedParser:(MWFeedParser *)parser didParseFeedItem:(MWFeedItem *)item {
NSLog(@"Parsed Feed Item: “%@”", item.title);
if (item)
{
[arr_itemIdentifier addObject:item.identifier];
[arr_itemTitle addObject:[item.title gtm_stringByUnescapingFromHTML]];
[arr_itemLink addObject:item.link];
[arr_itemdate addObject:item.date];
if( nil != item.updated )
{
[arr_itemupdated addObject:item.updated];
}
[arr_itemsummery addObject:item.summary];
NSString *renderedSummary = [item.summary stringByReplacingOccurrencesOfRegex:@"<[^>]*?>"
withString:@""];
[arr_itemRenderedSummary addObject:renderedSummary];
if( nil != item.content )
{
[arr_itemContent addObject:item.content];
}
}
NSLog(@"%@",item.description);
NSLog(@"item.enclosurs = %@",item.enclosures); // here i got null array so the for loop is not executed
for( NSDictionary *itemEnclosure in item.enclosures )
{
NSString *mimeType = [itemEnclosure objectForKey:@"type"];
if( [@"video/example" isEqualToString:mimeType] )
{
} else if( [@"image/example" isEqualToString:mimeType] )
{
NSString *itemAnchor = [itemEnclosure objectForKey:@"url"];
NSArray *captures = [itemAnchor arrayOfCaptureComponentsMatchedByRegex:DWFeedHTMLImageElementSrcValueRegex];
if( 0 < captures )
{
[arr_imageURL addObject:[itemEnclosure objectForKey:@"url"]];
}
[arr_thumbImage addObject:[itemEnclosure objectForKey:@"url"]];
//feedItem.thumbnailURL = feedItem.imageURL;
}
}
int k=0;
NSLog(@"arr_itemContent = %@",item.content);
NSLog(@"arr_itemdate = %@",item.date);
NSLog(@"arr_itemIdentifier = %@",item.identifier);
NSLog(@"arr_itemLink = %@",item.link);
NSLog(@"arr_itemRenderedSummary = %@",[arr_itemRenderedSummary objectAtIndex:k]);
NSLog(@"arr_itemsummery = %@",item.summary);
NSLog(@"arr_itemTitle = %@",item.title);
NSLog(@"arr_itemupdated = %@",item.updated);
k++;
}
- (void)viewDidLoad
{
NSURL *feedURL = [NSURL URLWithString:str_url];
feedParser = [[MWFeedParser alloc] initWithFeedURL:feedURL];
feedParser.delegate = self;
feedParser.feedParseType = ParseTypeFull; // Parse feed info and all items
feedParser.connectionType = ConnectionTypeAsynchronously;
[feedParser parse];
}
画像を除くすべての配列情報を取得しました。次のようなコンテンツを含む画像の URL も取得します: <p><a href="http://wpcore.mpf.s3.amazonaws.com/wp-content/uploads/2012/11/DDD-2121.jpg">
CONTENTS
item.content