<html>
<a href="#id_1">Some Text</a>
<div>
Some Text.
</div>
<div>
Some Text
</div>
<a href="#id_2">Some Text</a>
</html>
我希望找到基于第一个的锚标记id_2,即id_1,而不在html页面上使用foreach循环。 我尝试了以下代码:
HtmlNode dtElement= doc.DocumentNode.SelectSingleNode("//a[@href = '#id_1' ]");
private static HtmlNode GetNextDDSibling(HtmlNode dtElement)
{
var currentNode = dtElement;
while (currentNode != null)
{
currentNode = currentNode.NextSibling;
if (currentNode.NodeType == HtmlNodeType.Element && currentNode.Name == "a")
return currentNode;
}
return null;
}
任何帮助都将不胜感激。谢谢!
答案 0 :(得分:0)
这里你可以做的最简单的事情是使用特定的xpath查询来选择下一个同级锚点。
private static HtmlNode GetNextDDSibling(HtmlNode element)
{
return element.SelectSingleNode("following-sibling::a");
}