Jak uzyskać nazwę i wartość atrybutów z xml podczas używania parsera sax libxml2?
Utknąłem przy próbie wykrycia pary nazw i wartości atrybutów w niektórych ogólnych xmls, używając libxml2 do analizowania api na aplikacji iPhone'a. Dla mojego projektu szybkość analizowania jest naprawdę ważna, więc postanowiłem użyć libxml2 jako takiego, zamiast używać NSXMLParser.
Teraz, odnosząc się do XMLPerformance, która jest próbką iPhone SDK dla analizy porównawczej między NSXMLParser i libxml2, próbowałem uzyskać szczegóły atrybutu w jednym z procedur obsługi parsera XML, jak poniżej, ale nie wiem dokładnie, jak go wykryć .
/* 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];
}
}
}
widziałemdokument libxml2, ale nie mogę. Pomóż mi, jeśli jesteś świetnym hakerem :)