Objective C、xpath 查询不工作

Objective C, xpath query not working

我有下一个html结构

<div class="item column-1">
  <h2>
    <a href="/news/1172-zimnee-21-12-2014">
      some text
    </a>
  </h2>

</div>

我想获取标签的内容,我正在使用此代码

NSURL *newURL = [NSURL URLWithString:@"http://mfc.mk.ua/news"];
NSData *newsData = [NSData dataWithContentsOfURL: newURL];

TFHpple *newsParser = [TFHpple hppleWithHTMLData: newsData];

NSString *newsXpathQueryString = @"//div[@class='item column-1']/h2/a";
NSArray *newsNodes = [newsParser searchWithXPathQuery: newsXpathQueryString];

NSMutableArray *newNews = [[NSMutableArray alloc] initWithCapacity: 0];

for (TFHppleElement *element in newsNodes)
{
    News *news = [[News alloc] init];

    [newNews addObject: news];

    news.title = [[element firstChild] content];

    _objects = newNews;
}

但是它没有返回任何结果。如果我这样做:

news.title = [element objectForKey:@"href"]; 

然后我得到了结果。我做错了什么?请帮忙。

如果您想在您的示例中使用 "some text",而不是 [[element firstChild] content],您应该只使用 [element content]。如果您的示例具有代表性,但您可能还想 trim 白色 space 和新行。因此:

news.title = [[element content] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];