mogę tylko parsować 1. element tego xml, ale chcę uzyskać całą zawartość kuchni to jest mój xml
<cuisines>
<cuisine>Asian</cuisine>
<cuisine>Nepalese</cuisine>
<cuisine>North Indian</cuisine>
<cuisine>Indian Vegetarian</cuisine>
<cuisine>Organic Cuisine</cuisine>
</cuisines>
i to jest kod do analizy
if ( [elementName isEqualToString:@"cuisines"]) {
if ( [elementName isEqualToString:@"cuisine"] ) {
elementName=[[NSMutableString alloc] init];
keyInProgress = [elementName copy];
// This is a string we will append to as the text arrives
textInProgress = [[[NSMutableString alloc] init]autorelease];
return;
}
ale nie działa, chcę uzyskać całą wartość
Odpowiedzi:
1 dla odpowiedzi № 1musisz zaimplementować metodę parsera oraz następujące metody metod protokołu NSXMLParserDelegate:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
Dobry samouczek można znaleźć tutaj: Spożywanie usługi RESTful (bit.ly) w aplikacji na iPhone'a