Содержимое таблицы xpath в массив - PullRequest
0 голосов
/ 03 августа 2011

Как бы я использовал xPath в оболочке hpple Objective-C для извлечения элементов из этой таблицы. В идеале я хотел бы поместить адреса и цены в массив или словарь.

Я пытался использовать оболочку hpplejective c для извлечения данных из таблицы, расположенной здесь: http://www.gaspry.com/index.php?zipcode=02169&action=search, но мне не удалось получить правильный запрос xpath для извлечения информации. В идеале я хотел бы хранить эту информацию в наборе массивов: один для адресов и один для каждой цены. Я застрял на том, как извлечь всю информацию из таблицы и не уверен, что мой xPath правильный

Мой код на данный момент:

- (void)viewDidLoad {
[super viewDidLoad];
//Url Information
NSString *urlAddress = @"http://www.gaspry.com/index.php?zipcode=02169&action=search";
NSURL *url = [NSURL URLWithString:urlAddress];
NSData *htmlData = [[NSData alloc] initWithContentsOfURL:url];

//Start Parsing
TFHpple *xpathParser = [[TFHpple alloc] initWithHTMLData:htmlData];     
NSArray *elements  = [xpathParser search:@"//tBody[tr]"]; // get the table information
TFHppleElement *element = [elements objectAtIndex:0];
NSString *bodyTag = [element content];  
NSLog(@"%@", bodyTag);
[xpathParser release];
[htmlData release];

}

1 Ответ

0 голосов
/ 04 августа 2011

Один совет, путь поиска чувствителен к регистру, поэтому убедитесь, что вы используете правильный.

поисковый запрос для:

@"//tbody//tr[1]//td[1]"

получит ваш адрес и изменит столбец "td [#]" для доступа к другим вещам, которые вы, возможно, захотите сохранить.

Я не уверен, но адрес не будет анализироваться правильно, то есть вышеупомянутый поисковый запрос будет выдан после тега
, но не даст вам контент до тега
.

Надеюсь, что это поможет: D

...