Archive for June, 2012
Xml parsing iphone
.h
#import <UIKit/UIKit.h>
@interface samplexmlViewController : UIViewController{
NSMutableArray *array1;
NSMutableDictionary *dict1,*tempDict;
NSString *xmlString;
IBOutlet UILabel *lbl1,*lbl2,*lbl3;
int i,counts,table;
}
-(void)showQ:(NSMutableDictionary *)dicts;
@end
.m
– (void)viewDidLoad {
NSURL *url = [[NSURL alloc] initWithString:@”url”];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
//Initialize the delegate.
//Set delegate
[xmlParser setDelegate:self];
//Start parsing the XML file.
BOOL success = [xmlParser parse];
if(success)
NSLog(@”No Errors”);
else
NSLog(@”Error Error Error!!!”);
tempDict=[[NSMutableDictionary alloc]init ];
tempDict=[array1 objectAtIndex:i];
[self showQ:tempDict];
[super viewDidLoad];
}
– (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@”parentnode”]) {
array1=[[NSMutableArray alloc]init ];
}
if ([elementName isEqualToString:@”child”]) {
dict1=[[NSMutableDictionary alloc]init];
}
}
– (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@”subchild1″]) {
[dict1 setObject:xmlString forKey:@”subchild1″];
}
if ([elementName isEqualToString:@”subchild2″]) {
[dict1 setObject:xmlString forKey:@”subchild2″];
}
if ([elementName isEqualToString:@”subchild3″]) {
[dict1 setObject:xmlString forKey:@”subchild3″];
}
if ([elementName isEqualToString:@”child”]) {
[array1 addObject:dict1];
NSLog(@”array 1 is %@”,array1);
}
if ([elementName isEqualToString:@”parent”]) {
NSLog(@”total array is %@”,array1);
}
xmlString=nil;
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if(xmlString == nil)
xmlString = [[NSMutableString alloc] initWithString:string];
else
[xmlString appendString:string];
}
-(void)showQ:(NSMutableDictionary *)dicts
{
lbl1.text=[dicts objectForKey:@”subchild1″];
lbl2.text=[dicts objectForKey:@”subchild1″];
lbl3.text=[dicts objectForKey:@”subchild1″];
}
Finding the current device name in xcode
[[UIDevice currentDevice] name];