2012-04-13 41 views
1

我试图从sudzc wsdl返回多行。我已经将结果加载到字典中。下面的代码给了我第一个结果。我如何检索所有结果而不是第一个结果?我正在寻找CSHR_POS_NAME,其中[ID.text intValue] == CSHR_NUM。从sudzc抓取多行

dict = [resp objectForKey:@"TC"]; 
if((dict == nil) || ![dict isKindOfClass:[NSDictionary class]]) { 
    NSLog(@"WARNING: %@", [dict description]); 
    return; 
} 
    desc = [[dict objectForKey:@"CSHR_POS_NAME"]copy]; 
    CashierNum = [[dict objectForKey:@"CSHR_NUM"]copy]; 

    NSLog(@"Name: %@ and Cashier Number: %@",desc, CashierNum); 

我能够在VB中完成:

If dsCashiers.Table("TC").Rows.Count > 0 Then 
... 
+0

这是一个sudzc问题。它通过反序列化来覆盖前一个节点。 – iDev 2012-04-19 16:53:47

+0

请参阅解决方案:http://stackoverflow.com/questions/10235496/sudzc-deserializeasdictionary-over-written-dictionary – iDev 2012-04-24 12:24:21

回答

0
[d setObject:v forKey:[child name]]; 
NSString* key = [child name]; 
id check = [d objectForKey:key]; 
if(check != nil) { 

NSInteger next = 1; 
key = [NSString stringWithFormat:@"%@%d", [child name], next]; 
check = [d objectForKey:key]; 
while(check != nil) { 

    next++; 
    key = [NSString stringWithFormat:@"%@%d", [child name], next]; 
    check = [d objectForKey:key]; 
} 
[d setObject:v forKey:key]; 
} 
[d setObject:v forKey:[child name]];