我的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标记内的所有文本内容?
感谢您的帮助。
答案 0 :(得分:0)
试试这个:https://github.com/topfunky/hpple
Hpple:XPathQuery库上一个很好的Objective-C包装器,用于解析HTML。