Как использовать NSXMLParser, если узлы не последовательны в программировании на iphone? - PullRequest
0 голосов
/ 08 сентября 2011

У меня есть следующая ссылка, возвращающая XML по следующей ссылке

    http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=24.827774,67.034367    //This is URLString link

     NSXMLParser *xmlParser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:
                                                             [NSString stringWithFormat:@"%@",URLString]]]; 
    [xmlParser setDelegate:self];
    [xmlParser parse];



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



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

 - (void)parser:(NSXMLParser *)parser 
               didEndElement:(NSString *)elementName
               namespaceURI:(NSString *)namespaceURI 
               qualifiedName:(NSString *)qName {

Я хочу сохранить только значения "city", "weather", "temp_f" и "temp_c", чтобы отображать их на ярлыках;

Я действительно запутываюсь всегда в разборе NSXMLParser, я был бы благодарен, если бы кто-то определился в хороших словах, чтобы я получил правильное понимание NSXMLParser

Заранее спасибо

1 Ответ

1 голос
/ 08 сентября 2011

В вашем didEndElement методе делегата проверьте elementName.

If(elemenentName isEqualtoString:@"city"])
// Save the element which is currently holding the value from the `foundCharacters` delegate method into your variable.

Вы можете сделать то же самое для других значений.

...