
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"];
}
}
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.