2011-07-22 121 views
0

我正在解析来自服务器的信息,并且已经下载了所有信息,但有一段艰难的时间试图弄清楚如何将信息添加到表视图。基本上我想知道的是如何获取我拥有的信息并将其添加到NSMutableArray中,然后对该对象进行计数并将其添加到表视图中,但是每次将我的字符串添加到可变数组中时,我什么都得不到......但我知道所有的信息正在被我的日志正确解析,并且我只是为了测试而放置了一个标签......这里是我用来获取信息的代码。我怎样才能把我使用的字符串填充到我的表格视图中?用XML数据填充UITableView

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


    NSLog(@"Parser Was Called"); 

    if ([elementName isEqualToString:@"element"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"themeName"]); 
    themeNameString = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"themeName"]]; 
    //Test first string 
    label.text = themeNameString; 
    } 
    if ([elementName isEqualToString:@"element1"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"creator"]); 
    themeCreator = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"creator"]]; 
    }  
    if ([elementName isEqualToString:@"element2"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"price"]); 
    themePrice = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"price"]]; 

    }  
    if ([elementName isEqualToString:@"element3"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"twitterName"]); 
    creatorTwitterName = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"twitterName"]]; 

     } 
    if ([elementName isEqualToString:@"element4"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"themeURL"]); 
    cydiaLink = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"themeURL"]]; 

    } 
    if ([elementName isEqualToString:@"element5"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"themeDeciption"]); 
    deciption = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"themeDeciption"]]; 

    }  

    if ([elementName isEqualToString:@"element6"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"themeScreenShots"]); 
    screenShots = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"themeScreenShots"]]; 

    }   
    if ([elementName isEqualToString:@"element7"]) { 
    NSLog(@"elements recieved %@", [attributeDict objectForKey:@"promo"]); 
    tblViewImage = [NSString stringWithFormat:@"%@", [attributeDict 
    objectForKey:@"promo"]]; 

    } 

    } 
+0

请将代码放在代码标签中。 – dasdom

回答

0

至于现在,我只有你使用

– parser:didStartElement:namespaceURI:qualifiedName:attributes: 

要获得一个阵列中的所有XML数据,你应该有一点点看。这是documentatinoa回合NSXMLParser。

http://developer.apple.com/library/ios/#documentation/cocoa/reference/NSXMLParserDelegate_Protocol/Reference/Reference.html

取决于你想要什么,但我通常使用

– parser:didStartElement:namespaceURI:qualifiedName:attributes: 
– parser:didEndElement:namespaceURI:qualifiedName: 
– parser:foundCharacters: 

但同样,这真的取决于你想要什么,因为有很多更多的方法可供选择。