this is my html code. How to select first link(a) after each div tag
<div class="test">
<a></a>
<a></a>
</div>
<div class="test">
<a></a>
<a></a>
</div>
<div class="test">
<a></a>
<a></a>
</div>
i've tried just using one slash : //div[@class="test"]/a but it selects both
Like this (using index):
var elements = something.SelectNodes("//div[@class=\"test\"]/a[1]");
string html = @"<div class=""test"">
<a></a>
<a></a>
</div>");
var firstAnchor = doc.DocumentNode
.SelectSingleNode("//div[contains(@class,'test')]")
.SelectSingleNode("//a");
or with this syntax:
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();
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With