Hpple と xpath を使用して HTML の u リストからすべての画像を取得しようとしていますが、メリットはありません
これらのような私の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"]; } } }