首页 > 解决方案 > 如何在 AngleSharp 项目对象中获取链接的标题?

问题描述

这是一个链接:

<a title = "mylink" href="mysite">content</a>

在 AngleSharp 对象中,我可以content使用以下代码轻松获得:

string innerContent = item.TextContent;

但我需要得到链接的标题和href。我怎么做?

标签: c#asp.netparsinganglesharp

解决方案


请注意,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。


推荐阅读