¿Cómo obtener el nombre y el valor de los atributos de xml al usar el analizador sax libxml2?

Me quedé atascado al intentar detectar el par de nombre y valor de los atributos en algunos xmls generales mediante el uso de libxml2 para analizar la api en la aplicación de iPhone. Para mi proyecto, la velocidad de análisis es realmente importante, así que decidí usar libxml2 en lugar de usar NSXMLParser.

Ahora, refiriéndome a XMLPerformance que es una muestra de SDK de iPhone para el análisis comparativo entre NSXMLParser y libxml2, intenté obtener el detalle del atributo en uno de los controladores de analizador XML como se muestra a continuación, pero no sé exactamente cómo detectarlo. .

/* for example, <element key="value" /> */
static void startElementSAX(void *ctx, const xmlChar *localname, const xmlChar *prefix,
const xmlChar *URI, int nb_namespaces, const xmlChar **namespaces, int nb_attributes,
int nb_defaulted, const xmlChar **attributes)
{
    if (nb_attributes > 0)
    {
        NSMutableDictionary* attributeDict = [NSMutableDictionary dictionaryWithCapacity:(NSUInteger)[NSNumber numberWithInt:nb_attributes]];
        for (int i=0; i<nb_attributes; i++)
        {
            NSString* key = @""; /* expected: key */
            NSString* val = @""; /* expected: value */
            [attributeDict setValue:val forKey:key];
        }
     }
}

Yo viel documento libxml2, pero no puedo Por favor ayúdame si eres un gran hacker :)