我有一个包含tds的表,如下所示。 我试图只抓住href-part 现在我有这样的事情:
var aTags = htmlDocument.DocumentNode.SelectNodes("//td//a[@href]");
它似乎正在返回td中的所有信息。如何指定我只想要那个href?这里有很多类似的问题,但似乎无法让它发挥作用。
<tbody>
<tr>
<td colspan="1" rowspan="1">
<a shape="rect" id="ctl00_mainCPH_ResultListUC_ResultList_ctl04_hlRubrik" href="/sitevision/proxy/4.38a41afd11d99fbdb65800016.html/svid12_38a41afd11d99fbdb65800021/-123388378/Standard/Platsannonser/VisaFritextAnnonser.aspx?ids=2499859&q=s%28sn%28systemutvecklare%29sida%281%29ar%2820%29%29" style="display:inline-block;width:160px;">Systemutvecklare</a>
</td>
</tr>
</tbody>
。每个对象都有一个外部HTML属性,看起来像上面的标签, 我需要的是你得到hrefs并收集字符串列表中的sthem .. 下面的图像显示我想要的值实际存在于我得到的对象中,我想要hrefs的值... 编辑: 我似乎能够得到像这样的innerhtml:
var bTags = htmlDocument.DocumentNode.SelectNodes("//td//a/@href").Select(o => o.InnerHtml).ToList();
但我仍然不知道如何获得hrefs ......
答案 0 :(得分:2)
您的XPath将为您提供具有名为a
的属性的所有href
个元素。要获取属性本身,您需要使用//td//a/@href
。
答案 1 :(得分:0)
这段代码似乎做了我想要的:
var bTags = htmlDocument.DocumentNode.SelectNodes("//td//a/@href").Select(o => o.Attributes["href"].Value).ToList();