最簡單的事情就是做這樣的事情:
NSXMLParser *xmlParser = [[NSXMLParser alloc]initWithData:<yourNSData>];
[xmlParser setDelegate:self];
[xmlParser parse];
注意setDelegate:被委託設置爲 '自我',意義當前對象。因此,在這個對象中,你需要實現你在問題中提到的委託方法。
所以在你的代碼進一步下降,粘貼在:
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict{
NSLog(@"I just found a start tag for %@",elementName);
if ([elementName isEqualToString:@"employee"]){
// then the parser has just seen an <employee> opening tag
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
NSLog(@"the parser just found this text in a tag:%@",string);
}
等等,等等
這是一個有點困難,當你想要做的事等設定的變量一些變量的值,但通常使用類變量caleld完成,如「BOOL inEmployeeTag
」,您在didStartElement
:方法中設置爲true(是),在didEndElement
:方法中設爲false - 然後在foundCharacters
方法中檢查它的值。如果是,則將var分配給字符串的值,如果不是,則不要。
richard