【发布时间】:2019-11-22 10:42:51
【问题描述】:
这是一个链接:
<a title = "mylink" href="mysite">content</a>
在 AngleSharp 对象中,我可以使用以下代码轻松获得 content:
string innerContent = item.TextContent;
但我需要获得链接的标题和href。我该怎么做?
【问题讨论】:
标签: c# asp.net parsing anglesharp
这是一个链接:
<a title = "mylink" href="mysite">content</a>
在 AngleSharp 对象中,我可以使用以下代码轻松获得 content:
string innerContent = item.TextContent;
但我需要获得链接的标题和href。我该怎么做?
【问题讨论】:
标签: c# asp.net parsing anglesharp
请注意,AngleSharp 使用 W3C 定义的标准 DOM - 因此您只需搜索“如何从 DOM 中的锚元素获取 href”即可检索答案。为了完整起见,示例搜索查询导致(在 Google 上首次点击)Get local href value from anchor (a) tag,它回答了您的问题。
刚刚翻译成C#意思是
var anchor = item as IHtmlAnchorElement; // Assumption: You have obtained it "only" as an IHtmlElement
string title = item.Title;
string href = item.Href;
备注:.GetAttribute("href") 和.Href 是有区别的。前者始终 可用(即使在非IHtmlAnchorElement 上)并为您提供真实 值。后者是在某些元素上可用的特殊计算版本(例如,IHtmlAnchorElement),它会为您提供一个规范化版本,已经考虑了当前文档的基本 URL。
TL;DR:.Href 会给你一个绝对 URL,而.GetAttribute("href") 可能会给你一个相对 URL。
HTH!
【讨论】: