这是我的HTML代码。如何在每个div标签之后选择第一个链接(a)
<div class="test">
<a></a>
<a></a>
</div>
<div class="test">
<a></a>
<a></a>
</div>
<div class="test">
<a></a>
<a></a>
</div>
我尝试过使用一个斜杠://div[@class="test"]/a
但它同时选择了两个斜杠
答案 0 :(得分:4)
像这样(使用索引):
var elements = something.SelectNodes("//div[@class=\"test\"]/a[1]");
答案 1 :(得分:2)
string html = @"<div class=""test"">
<a></a>
<a></a>
</div>");
var firstAnchor = doc.DocumentNode
.SelectSingleNode("//div[contains(@class,'test')]")
.SelectSingleNode("//a");
或使用以下语法:
var firstDiv = doc.DocumentNode.Descendants("div")
.Where(n => n.GetAttributeValue("class", "").Equals("test", StringComparison.InvariantCultureIgnoreCase))
.FirstOrDefault();
if (firstDiv != null)
{
var firstAnchor = firstDiv.Descendants("a").FirstOrDefault();
}