我想要实现的是提取所有链接,这些链接具有以http://、https://或/开头的href属性。这些链接位于一个带有特定类的表格中(tbody > tr > td等)。我认为我可以仅指定a元素而不是整个路径,但似乎不起作用。在选择链接的行上,我遇到了NullReferenceException错误:
var table = doc.DocumentNode.SelectSingleNode("//table[@class='containerTable']");
if (table != null)
{
foreach (HtmlNode item in table.SelectNodes("a[starts-with(@href, 'https://')]"))
{
//not working
关于XPath的推荐或最佳实践,我不是很清楚。如果我查询文档两次,是否会增加负担?
<a>
节点。此外,它比在文档中查找所有<a>
节点(如另一个答案建议的//a)更精确和高效。 - Dimitre Novatchev