目前我正在关注Ray Wenderlich的tutorial处理在ios上解析html的问题。根据这棵树,一切都得到了完美的解释:
他们为每个教程提取标题和网址标记。
这是他们创建一个数组来保存他们的Tutorial对象的方法:
NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
// 5
Tutorial *tutorial = [[Tutorial alloc] init];
[newTutorials addObject:tutorial];
// 6
tutorial.title = [[element firstChild] content];
// 7
tutorial.url = [element objectForKey:@"href"];
}
现在这是我的问题。我目前正在我的网站上尝试这个。问题是我不知道如何获得每个<tr>
标签的第4个孩子。
这是我的html树。
我试图只从每个标签中获得第四个孩子。但我不知道如何处理它。
这是正确的吗?
// 6
tutorial.title = [[element firstChild] content];
// 7
tutorial.amount = [[element fourthChild] objectForKey:@"td"];
答案 0 :(得分:0)
您可以使用children属性:)
首先,您需要联系所需的标记以获取所有元素子元素。为此,你可以像这样设置xpath查询: div [@ id ='main'] / table [@ class ='bodytext'] / tbody / tr
然后你可以让第四个孩子使用儿童财产。这是示例代码。
//3
NSString *tutorialsXpathQueryString = @"//div[@id='main']/table[@class='bodytext']/tbody/tr";
NSArray *tutorialsNodes = [tutorialsParser searchWithXPathQuery:tutorialsXpathQueryString];
// 4
NSMutableArray *newTutorials = [[NSMutableArray alloc] initWithCapacity:0];
for (TFHppleElement *element in tutorialsNodes) {
// 5
Tutorial *tutorial = [[Tutorial alloc] init];
[newTutorials addObject:tutorial];
// 6
TFHppleElement *trTag = [[element children] objectAtIndex:3];
tutorial.title = [trTag content];
希望这有帮助