我正在尝试使用 Hpple 和 xpath 从您的 HTML 列表中获取所有图像,但没有任何好处
我的 HTML 节点像这样
<ul id="week_slider">
<div id="week_program_img">
<img id="Img1" src="imageurl">
</div>
</ul>
但有时(img)标签在(a)这样的标签内
<a href="url">
<img id="Img1" src="imageurl">
</a>
当将此路径放入 xpath 时,我只能获取图像(不在“a”标签中)
//ul[@id='week_slider']//div[@id='week_program_img']
当将此路径放入 xpath 时,我也可以获得图像(在“a”标签中)
//ul[@id='week_slider']//div[@id='week_program_img']/a
但我想同时获取所有图像,无论是否带有标签,我如何在同一个 xpath 中做到这一点?我尝试像这样使用 (or) 、 (|) 、 (and) 运算符
//ul[@id='week_slider']//div[@id='week_program_img'] | //ul[@id='week_slider']//div[@id='week_program_img']/a
但它不能正常工作
我的完整代码:
NSString *tutorialsXpathQueryStringimage1 = @"//ul[@id='week_slider']//div[@id='week_program_img']";
NSArray *newsNodesimage1 = [newsParser searchWithXPathQuery:tutorialsXpathQueryStringimage1]; NSMutableArray *image1 = [[NSMutableArray alloc] initWithCapacity:0]; for (TFHppleElement *element in newsNodesimage1) { Tutorial *tutorial = [[Tutorial alloc] init]; [image1 addObject:tutorial]; for (TFHppleElement *child in element.children) { if ([child.tagName isEqualToString:@"img"]) { tutorial.imageUrl = [child objectForKey:@"src"]; } } }