Como obter o nome e o valor dos atributos do xml ao usar o analisador de sax libxml2?

Fiquei preso ao tentar detectar o par de nome e valor dos atributos em alguns xmls gerais usando libxml2 para analisar a API no aplicativo do iPhone. Para o meu projeto, a velocidade da análise é realmente importante, então decidi usar a própria libxml2 em vez de usar o NSXMLParser.

Agora, ao me referir ao XMLPerformance, que é uma amostra do iPhone SDK para o benchmark de análise entre o NSXMLParser e o libxml2, tentei obter os detalhes do atributo em um dos manipuladores de analisadores XML, como abaixo, mas não sei exatamente como detectá-lo .

/* 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];
        }
     }
}

eu vio documento libxml2, mas eu não posso. Por favor me ajude se você é um ótimo hacker :)

questionAnswers(2)

yourAnswerToTheQuestion