hpple parse xml,[element content]始终为null

时间:2012-08-12 08:01:40

标签: ios hpple

1.这是我的代码

NSStringEncoding encoding2 = NSUTF8StringEncoding;
// i am from china
NSString *c1 = @"<html><head><title A='sss'>sss</title></head><body><a href='sssssss这个中文就么哟sa哈aa'>asas</a></body></html>";
htmlData = [c1 dataUsingEncoding:encoding2];
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];
NSArray *elements  = [xpathParser searchWithXPathQuery:@"//a"]; 
TFHppleElement *element = [elements objectAtIndex:0];
NSString *myTitle = [element content];
NSLog(@"%@",element.tagName);
NSLog(@"%@",myTitle);
NSString *attr = [element objectForKey:@"href"];
NSLog(@"%@",attr);
  1. 这是输出

    **
    2012-08-12 14:59:34.624 HHXY[1506:f803] a
    2012-08-12 14:59:34.625 HHXY[1506:f803] (null)
    2012-08-12 14:59:34.625 HHXY[1506:f803] sssssss这个中文就么哟sa哈aa
    **
    
  2. 一个简单的测试,但内容(myTitle)总是为空,我不知道为什么?帮助我。非常感谢

1 个答案:

答案 0 :(得分:2)

我有类似的问题。

尝试替换此行:

NSString *myTitle = [element content];

下一个:

NSString *myTitle = [[element firstChild] content];

或更改正则表达式:

@"//a" 

@"//a/text()"

我希望其中一种方法可以帮到你!