Чтение идентификатора и значения для узла в NSXMLParser - PullRequest
0 голосов
/ 22 августа 2010

У меня есть узел XML, подобный следующему:

<State id="1"> AA </State>

Как я могу прочитать значение 'AA'?Я могу прочитать id значение "1", используя:

(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict { <br>

        //Extract the attribute here.
        aState.stateId = [[attributeDict objectForKey:@"id"] integerValue];
        NSLog(@"Reading id value :%i", aState.stateId);
    }
    NSLog(@"Processing Element: %@", elementName);
}

Но не могу прочитать значение

1 Ответ

0 голосов
/ 22 августа 2010

Насколько я помню, для этого нужно реализовать этот метод

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

Весь код будет выглядеть так:

    - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {

    foundState = [elementName isEqualToString:@"State"];

    }
 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
      if (foundState) {
        [stringBuffer appendString:string];
      }
   }
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 

namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    if (foundState) {
      NSLog(@"AA = %@", stringBuffer);
      foundState = NO;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...