我知道有很多XPath href问题,但是没有一个适合我的情况,或者我是它的初学者并且不知道我的代码有什么问题。如果这是一个愚蠢的问题,请耐心等待。
我有这个HTML结构:
<td valign="top">08-Jan-14 16:02</td>
<td valign="top"><span style="cursor:help;" title="Regulatory News Service">RNS</span></td>
<td valign="top"><a href="share-regulatory-news.asp?shareprice=BARC&ArticleCode=d6rr2uxo&ArticleHeadline=Blocklisting_Interim_Review" class="linkStoryHeadline rnsArticle" title="Blocklisting Interim Review">Blocklisting Interim Review</a></td>
<td valign="top">Company Announcement - General</td>
我的代码是:
HtmlNodeCollection cols5 = rows[i].SelectNodes(".//td[3]/a[@href]");
流编写器写入URL:
sw.WriteLine(cols5[j].InnerText);
结果似乎是Blocklisting Interim Review
而不是网址。任何人都可以好好看看吗?我已经通过XPath指南并搜索了所有但仍无法得到我的案例的确切答案。任何帮助将不胜感激!
答案 0 :(得分:1)
您无法使用XPath选择属性。选择a
元素,然后获取它的href
属性。以下xpath从第三个表格单元a
元素中选择具有 href
属性(是的,谓词只是指定该属性应该存在,它不会选择属性):
var a = doc.DocumentNode.SelectSingleNode(".//td[3]/a[@href]");
var href = a.Attributes["href"].Value;
返回
份额调控-news.asp shareprice = BARC&安培; ArticleCode = d6rr2uxo&安培; ArticleHeadline = Blocklisting_Interim_Review