CCSAXParser是异步解析的,而自带的libxml2库是同步解析的。
使用CCSAXParser,就要继承它,并实现startElement / endElement / textHandler三个函数,如
void HelloWorld::startElement(void *ctx, const char *name, const char **atts)
{
if(atts){
int i=0;
while(atts[i])
{
std::string keystrN(atts[i]);
std::string keystrV(atts[i+1]);
i=i+2;
}
}
}
void HelloWorld::endElement(void *ctx, const char *name)
{
}
void HelloWorld::textHandler(void *ctx, const char *s, int len)
{
CC_UNUSED_PARAM(ctx);
std::string currString((char*)s,0,len);
CCLOG("s_len=%d",strlen(s));
CCLOG(currString.c_str());
}