获取 ol 中 li 内 <a> 标签中的所有链接

Get all links in <a> tag inside li in an ol

<dl id="narrow-by-list">
<dt class="odd">Category</dt>
<dd class="odd">
<ol>
<li>
<a href="http://www.shophive.com/apple/mac?cat=11">MacBook Pro</a>
(7)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=12">MacBook Air</a>
(4)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=485">MacBook </a>
(2)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=13">iMac</a>
(12)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=14">Mac Mini</a>
(5)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=15">Mac Pro</a>
(2)
</li>
<li>
<a href="http://www.shophive.com/apple/mac?cat=22">Accessories</a>
(127)
</li>
</ol>
</dd>

//我想获取 li 中一个标签内的所有 href,该标签位于一个名为 class 内的 ol 中 "odd" 我已经通过将它们组合成 1 div 来尝试一切还有,

var getcatgory = htmlDoc.DocumentNode.SelectNodes(
    @"//d1[@id='narrow-by-list']/div[@class='odd']/ol/li")

我也检查了 NodeCollection,但它返回 null

应该是//dl(字母l),不是//d1(数字1)。

根据您的示例 HTML,dl 没有子元素 div[@class='odd'],应该是 dd[@class='odd']。所以这是 return 目标 <a> 元素的一种可能的 XPath :

//dl[@id='narrow-by-list']/dd[@class='odd']/ol/li/a

演示:http://www.xpathtester.com/xpath/7e565607576421eac5a6a273af847011