0

我有一个类似这样的html内容。

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

我想提取标签中的文本内容。div对于这个示例,我想获取 text 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 标记中的所有文本内容?

谢谢你的帮助。

4

1 回答 1

0

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

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

于 2014-06-13T15:03:22.830 回答