请问各位大牛,小弟的html解析哪里有问题,请指点一下,谢谢。
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
    
    NSData *data = [[NSData alloc] initWithContentsOfFile:@"http://finance.sina.com.cn/china/20130519/140315511917.shtml"];
    NSString* str = [[NSString alloc]initWithData:data encoding:encoding];
    str = [str stringByReplacingOccurrencesOfString:@"\"gb2312\"" withString:@"\"utf-8\""];
    NSData* newData = [str dataUsingEncoding:NSUTF8StringEncoding];
    TFHpple * hpple= [[TFHpple alloc] initWithHTMLData:newData];
    NSArray *elements  = [hpple search:@"//h1"];
    TFHppleElement *element = [elements objectAtIndex:0];
    NSString *content = [element content];
    NSLog(@"%@",content);

解决方案 »

  1.   

    写错了,这个才是
    NSStringEncoding gbEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        
        NSData *htmlData = [NSData dataWithContentsOfURL:[NSURL URLWithString:PATH]];
        NSString *htmlStr = [[NSString alloc] initWithData:htmlData encoding:gbEncoding];
        NSString *utf8HtmlStr = [htmlStr stringByReplacingOccurrencesOfString:@"<meta http-equiv=\"Content-type\" content=\"text/html; charset=gb2312\" />"
                                                                   withString:@"<meta http-equiv=\"Content-type\" content=\"text/html; charset=utf-8\">"];
        NSData *htmlDataUTF8 = [utf8HtmlStr dataUsingEncoding:NSUTF8StringEncoding];
        TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlDataUTF8];
        
        NSArray *elements  = [xpathParser searchWithXPathQuery:@"//h1"];
        TFHppleElement *element = [elements objectAtIndex:0];
        NSString *ele = [element content];
        NSLog(@"%@",ele);结果是null