The name and value of a NSXMLNode are given by methods name and stringValue respectively. For an attribute node, these are the attibute name and value.
The attributes of a NSXMLElement are given by method attributes, or a particular attribute can be accessed by name with method attributeForName:.
NSXMLNode *attr = [element attributeForName: @"data"];
NSString *name = [node name];
NSString *value = [node stringValue];
for( NSXMLNode *node in [element attributes] ) {
NSString *name = [node name];
NSString *value = [node stringValue];
}