Я застрял, пытаясь определить пару имени и значения атрибутов в некоторых общих XML-файлах, используя libxml2 для анализа API в приложении iPhone. Для моего проекта очень важна скорость парсинга, поэтому я решил использовать саму libxml2 вместо использования NSXMLParser.
Теперь, ссылаясь на XMLPerformance, который является образцом iPhone SDK для эталонного анализа синтаксического анализа между NSXMLParser и libxml2, я попытался получить детали атрибута в одном из обработчиков синтаксического анализатора XML, как показано ниже, но я точно не знаю, как его обнаружить .
/* 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];
}
}
}
Я видел документ libxml2, но не могу. Пожалуйста, помогите мне, если вы великий хакер :)