Как получить заголовок ссылки в объекте элемента AngleSharp?

Вот ссылка:

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

В объекте AngleSharp я могу легко получить content с помощью этого кода:

string innerContent = item.TextContent;

Но мне нужно получить название ссылки, а также href. Как я могу это сделать?


person S. Ellis    schedule 12.07.2019    source источник


Ответы (1)


Обратите внимание, что AngleSharp использует стандартный DOM, определенный W3C, поэтому вы можете просто выполнить поиск, например, «как получить href из элемента привязки в DOM», чтобы получить ответ. Для полноты пример поискового запроса приводит к (первому попаданию в Google) Get локальное значение href из тега привязки (a), которое отвечает на ваш вопрос.

Только что переведенный на С#, что означает

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-адрес.

ХТХ!

person Florian Rappl    schedule 13.07.2019