在iOS的hpple库中使用通配符进行xpath查询

时间:2014-04-20 22:23:04

标签: html ios xpath html-parsing hpple

我正在使用hpple库来解析html文档。该文档看起来像

<a class="title threadtitle_unread">Promo - 20 Apr 2014</a>
<a class="title">                   Promo - 19 Apr 2014</a>
<a class="title unread">            Promo - 18 Apr 2014</a>
<a class="title special">           Promo - 17 Apr 2014</a>
<a class="title threadtitle_unread">Promo - 16 Apr 2014</a>

我想使用xpath查询检索所有这些节点。所以,我尝试做类似

的事情
TFHpple *parser = [TFHpple hppleWithHTMLData:htmlData];
NSString *xpathQueryString = @"//a[@class='title']";
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:xpathQueryString];

但这可以理解地只返回一个节点

<a class="title">                   Promo - 19 Apr 2014</a>

我可以使用通配符形成xpath搜索查询,以便它返回所有这些节点吗?我试图将搜索查询形成为

NSString *xpathQueryString = @"//a[@class='title']"; 

但这没有帮助。

我可以使用hpple实现这一目标吗?如果没有,我的其他选择是什么?

由于

2 个答案:

答案 0 :(得分:2)

另一种可能的方法是使用starts-with()函数:

//a[starts-with(@class,'title')]

答案 1 :(得分:1)

您应该使用contains功能。 e.g。

//a[@class[contains(., 'title')]]