好的,所以我正在尝试从包含指定字符串的标签下方 2 的标签中选择内部文本
html 的示例:
<td align="left"><a href="#">
Example String
</a></td>
<td align="right">132</td>
<td align="right">89</td>
<td align="right">123</td>
我想要下面的第二个TD" ahref标签中的示例字符串:
<td align="right">89</td>
我知道如果我这样做:
//a[contains(., 'Example String')]
这将使用 SelectNode 成功识别包含示例字符串的 href,但随后我想从下面的第二个 td 标签中获取内部文本
我试过了
//a[contains(., 'Example String')]/td[2]
但我没有运气..
如果您使用的是 jQuery
,您可以简单地执行以下操作
var anchor = $("a:contains('Example String')");
var requiredTag = anchor.next().next();
我试过了
//a[contains(., 'Example String'(]/td[2]
但我没有运气..
您正在使用的此 XPath 正在尝试选择 a
标记的子项。由于您要查找的a
标签包装在td
标签中,因此您需要获取a
的父级,然后获取同级td
:
HtmlNode tdNode = doc.DocumentNode.SelectSingleNode("//a[contains(., 'Example String')]/parent::*/following-sibling::td[2]");
string tdText = tdNode.InnerText;