.net XPath TD中的所有A,该TD还包含一个内部文本为“的H3”;指示;

.net XPath TD中的所有A,该TD还包含一个内部文本为“的H3”;指示;,.net,xml,dom,xpath,html-agility-pack,.net,Xml,Dom,Xpath,Html Agility Pack,我正在浏览一个网站。有一个TD,其中第一个子节点是一个内部文本为“Directs”的H3。在TD中,除H3之外的其他子项是链接。我知道XPath完全能够从TD返回A标记子项,TD还包含一个内部文本为“Directs”的H3,但我似乎无法正确处理它。我提出的难看的解决方法如下,但我想学习最好的XPath方法: For Each thisH3 As HtmlNode In Doc.SelectNodes("//h3") If thisH3.InnerText = "Directs" Then

我正在浏览一个网站。有一个TD,其中第一个子节点是一个内部文本为“Directs”的H3。在TD中,除H3之外的其他子项是链接。我知道XPath完全能够从TD返回A标记子项,TD还包含一个内部文本为“Directs”的H3,但我似乎无法正确处理它。我提出的难看的解决方法如下,但我想学习最好的XPath方法:

For Each thisH3 As HtmlNode In Doc.SelectNodes("//h3")
    If thisH3.InnerText = "Directs" Then
        For Each nChild As HtmlNode In thisH3.ParentNode.ChildNodes
            If nChild.Name = "a" Then
                Debug.Print(nChild.InnerText)
            End If
        Next
    End If
Next

使用此XPath检索
td
中具有
h3
且值为
的所有
a

//td[h3 = 'Directs']/a

如果您的
可能包含在TD中的其他标记中,您可能需要在其中添加另一个斜杠:
//TD[h3='directed']//a
a
TD
的直接子项,但这是很好的信息,谢谢@Phrogz