XPath - выбор атрибутов - PullRequest
0 голосов
/ 17 марта 2012

У меня есть этот код:

<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 голосов
/ 17 марта 2012

Вы можете посмотреть этот урок: Урок XPath Это будет:

//p[@class='test']
0 голосов
/ 17 марта 2012

Попробуйте это:

#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].

...