我试图通过使用libxml2来解析iPhone应用程序上的api,试图在一些通用xmls中检测属性的名称和值。 对于我的项目,解析速度非常重要,所以我决定使用libxml2本身而不是使用NSXMLParser。
现在,作为XMLPerformance的参考,它是用于NSXMLParser和libxml2之间的解析基准的iPhone SDK的示例,我试图在XML解析器处理程序中获取属性的细节,如下所示,但我不知道如何检测它。
/* for example, */ 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文件 ,但我不能。 如果你是伟大的黑客,请帮助我:)
从查看链接的文档,我认为这样的事情可能会起作用:
for (int i=0; i