XPath - 属性选择

时间:2012-03-17 02:31:37

标签: objective-c xpath hpple

我有这段代码:

<p class='test'>
    Text1
</p>

<p class='test'>
    Text1
</p>

使用Hpple(XPath),我需要阅读第一个<p class='test'>和第二个,但我不知道该怎么做。

也许喜欢:

//p[@class='test'][1]
//p[@class='test'][2]

由于

2 个答案:

答案 0 :(得分:0)

试试这个:

#import "TFHpple.h"

NSData  * data      = [NSData dataWithContentsOfFile:@"index.html"];
TFHpple * doc       = [[TFHpple alloc] initWithHTMLData:data];
NSArray * elements  = [doc search:@"//p[@class='test']"];

TFHppleElement * element = [elements objectAtIndex:0];
[e content];              // Tag's innerHTML
[e tagName];              // "a"
[e attributes];           // NSDictionary of href, class, id, etc.
[e objectForKey:@"href"]; // Easy access to single attribute

你有更多元素所以循环'elements'数组,在这种情况下你可以做[elements objectAtIndex:0]和[elements objectAtIndex:1]。

答案 1 :(得分:0)

您可以查看本教程:XPath tutorial它将是:

//p[@class='test']