如何使用TFHpple获取标签内的文本内容?

时间:2014-03-03 03:23:57

标签: ios objective-c tfhpple

我的html内容喜欢这个。

<body>
    <div>
        WINDOW<br/>
        DOOR<br/>
    </div>
</body>

我想在div代码中提取文字内容。对于此示例,我希望获得文字WINDOW\nDOOR

所以我在下面写了代码。

NSString *html = ...;
TFHpple *parser = [[TFHpple alloc]initWithHTMLData:[html dataUsingEncoding:NSUTF8StringEncoding]];
TFHppleElement *div = [parser searchWithXPathQuery:@"//div"][0];
NSString *text = [div text];

它不像我预期的那样有效。代码上方的text结果仅为WINDOW。无论如何DOOR都不见了。

然后我苦苦挣扎并写了一些代码。

NSString *html = ...;
TFHpple *parser = [[TFHpple alloc]initWithHTMLData:[html dataUsingEncoding:NSUTF8StringEncoding]];
TFHppleElement *div = [parser searchWithXPathQuery:@"//div"][0];
NSString *text = [div raw];
text = [self stringByStrippingHTML:text];

我获得了原始html内容,然后删除所有html标记以获得我预期的结果。但这种方法看起来有点难看。

所以,我的问题是,是否存在一种方法来获取html标记内的所有文本内容?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:https://github.com/topfunky/hpple

Hpple:XPathQuery库上一个很好的Objective-C包装器,用于解析HTML。