The Sudzc generated code is over writing a dictionary for deserialized nodes. If I use the NSLog(@\"The Child Node: %@\", [[[element children] objectAtIndex:0] stringValue]
I found that you have to put an else block in as well:
if( check != nil ) {
NSInteger next = 1;
key = [NSString stringWithFormat:@"%@%04d", [child name], next];
check = [d objectForKey:key];
while( check != nil ) {
next++;
key = [NSString stringWithFormat:@"%@%04d", [child name], next];
check = [d objectForKey:key];
}
[d setObject:v forKey:key];
} else {
[d setObject:v forKey:[child name]];
}
//End Extension
Otherwise elements in 'd' will be overwritten because setObject is called twice.