Я использую NSXMLParser,
я использовал следующий код хранить в объектах
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
string = [string stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(element);
NSLog(string);
if(([string length]>0 )||([string isEqualToString:@"c_id"])){
// NSLog([NSString stringWithFormat:@"%@ %@",element,string]);
if([element isEqualToString:@"c_id"]){
if([string isEqualToString:@""]||string==NULL);
else
oneCharade.team_id=string;
}
else
if([element isEqualToString:@"title"]){
if([string isEqualToString:@""]||string==NULL);
else
oneCharade.title=string;
}
else
if([element isEqualToString:@"desc"]){
oneCharade.desc=string;
// NSLog(string);
//NSLog(oneCharade.desc);
[allCharades addObject:oneCharade];
//[app.itemData addObject:data];
// NSLog(@"Object is added %@",searchedData.pid);
}
}// end of the outer if
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
element=elementName;
if([element isEqualToString:@"c_id"]){
oneCharade=[[XMLTeamData alloc]init];
//NSLog(@"Object is created");
}
}// end of the did start Element
-(void)parserDidEndDocument:(NSXMLParser *)parser{
CharadesAppDelegate *del=(CharadesAppDelegate *)[[UIApplication sharedApplication]delegate];
[del setServerCharades:allCharades];
//NSLog(@" count :%i",[allCharades count]);
}
, но для события desc происходит два раза, как вы можете видеть следующим образом
2011-11-29 11:49:31.251 Charades[741:207] c_id
2011-11-29 11:49:31.251 Charades[741:207] 191
2011-11-29 11:49:31.251 Charades[741:207] title
2011-11-29 11:49:31.251 Charades[741:207] Todd Philips
2011-11-29 11:49:31.251 Charades[741:207] desc
2011-11-29 11:49:31.251 Charades[741:207] Baksm
2011-11-29 11:49:31.251 Charades[741:207] desc
2011-11-29 11:49:31.251 Charades[741:207] ällan
Вы можете увидеть здесь
<c_id>191</c_id><title>Todd Philips</title><desc>Baksmällan</desc><category>Filmer</category>
но событие для описания происходит устройство, как можно решить эту проблему