그 같은 HTML 구조가 :
<div class="class1">
<div class="class2">
<a href="test" title="professional and enthusiast programmers">Stack Overflow</a>
</div>
<div class="class2">
</div>
<div class="class2">
</div>
<div class="class2">
</div>
</div>
<div class="class1">
<div class="class2">
<a href="test" title="professional and enthusiast programmers">Stack Overflow</a>
</div>
</div>
class1이있는 모든 노드를 선택하려고합니다.
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//*[contains(@class,' class1 ')]");
그리고 그 노드 안에 class2를 포함하고있는 모든 노드를 선택하십시오 :
foreach (HtmlNode node in nodes)
{
HtmlNodeCollection nodes2 = node.SelectNodes("//*[contains(@class,' class2 ')]");
}
그러나 nodes2는 모든 노드에서 class2를 가져옵니다. 내가 도대체 뭘 잘못하고있는 겁니까?
var nodes = doc.DocumentNode.SelectNodes("//div[@class='class1']");
var nodes2 = nodes.Select(c1 => c1.SelectNodes("div[@class='class2']"));