in .h file NSXMLParserDelegate
NSMutableArray *titlearray; NSMutableArray *descarray; NSMutableArray *linkarray; NSMutableArray *pubdatearray;
NSMutableDictionary *titledict; NSMutableDictionary *descdict; NSMutableDictionary *linkdict; NSMutableDictionary *pubdatedict; NSMutableString *currentElementValue;
.m file
- (void)viewDidLoad {
[super viewDidLoad];
//appDelegate = (rss2AppDelegate *)[[UIApplication sharedApplication] delegate];
self.navigationItem.title = @"rssfeed";
//NSURL *url = [[NSURL alloc] initWithString:@"http://feeds.bbci.co.uk/news/world/asia_pacific/rss.xml"];
NSURL *url=[[NSURL alloc] initWithString:@"http://feeds.feedburner.com/quotationspage/qotd"];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
//xmlparser *parser = [[xmlparser alloc] initxmlparser];
[xmlParser setDelegate:self];
BOOL success = [xmlParser parse];
if(success)
NSLog(@"No Errors");
else
NSLog(@"Error Error Error!!!");
NSLog(@"titlearray--%@",titlearray);
NSLog(@"descarray--%@",descarray);
NSLog(@"linkarray--%@",linkarray);
NSLog(@"pubdatearray--%@",pubdatearray);
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"channel"]) {
//Initialize the array.
titlearray=[[NSMutableArray alloc]init];
descarray=[[NSMutableArray alloc]init];
linkarray=[[NSMutableArray alloc]init];
pubdatearray=[[NSMutableArray alloc]init];
//appDelegate.rss = [[NSMutableArray alloc] init];
}
else if([elementName isEqualToString:@"item"]) {
titledict=[[NSMutableDictionary alloc]init];
descdict= [[NSMutableDictionary alloc]init];
linkdict=[[NSMutableDictionary alloc]init];
pubdatedict=[[NSMutableDictionary alloc]init];
}
}
(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if(!currentElementValue)
currentElementValue = [[NSMutableString alloc] initWithString:string];
else
// [currentElementValue appendString:string];
currentElementValue=[NSMutableString stringWithString:string];
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"item"]) {
[titlearray addObject:[titledict valueForKey:@"title"]];
[descarray addObject:[descdict valueForKey:@"description"]];
//NSString *str1=[descdict valueForKey:@"description"];
//NSLog(@"str1 = %@",str1);
//NSArray *firstSplit = [str1 componentsSeparatedByString:@"<p><"];
//NSLog(@"0 index = %@",[firstSplit objectAtIndex:0]);
[linkarray addObject:[linkdict valueForKey:@"link"]];
[pubdatearray addObject:[pubdatedict valueForKey:@"pubDate"]];
}
else if([elementName isEqualToString:@"title"])
{
[titledict setObject:currentElementValue forKey:@"title"];
}
else if([elementName isEqualToString:@"description"])
{
[descdict setObject:currentElementValue forKey:@"description"];
}
else if([elementName isEqualToString:@"link"])
{
[linkdict setObject:currentElementValue forKey:@"link"];
}
else if([elementName isEqualToString:@"pubDate"])
{
[pubdatedict setObject:currentElementValue forKey:@"pubDate"];
}
}