Как получить адрес из ссылки

202
12 января 2018, 22:51

Имеется кусок html

<a href="?downloadletter=30985" target="_blank" class="articllink"><span class="nobr">№ 01И-3209/17 от 21.12.2017</span></a>        <font class="nobr file_format"><IMG height="16" alt="pdf-формат" hspace="5" src="/i/images/ico_pdf.gif" width="16" border="0" title="pdf-формат">66 Кб</font>

Вопрос: как из него получить адрес ссылки?

?downloadletter=30985

С помощью библиотеки HtmlAgilityPack как здесь описано не выходит, т. к. Attributes возвращают null.

Делал так:

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(str);
string cc = doc.DocumentNode.Attributes["href"].Value;
Answer 1

Для того чтобы получить атрибут href необходимо сначала выбрать ноду в которой находиться этот артрибут. В вашем случае это нода a.

Пример получения ссылки:

    var str = @"<a href=""?downloadletter=30985"" target=""_blank"" class=""articllink""><span class=""nobr"">№ 01И-3209/17 от 21.12.2017</span></a>
                <font class=""nobr file_format""><IMG height=""16"" alt=""pdf-формат"" hspace=""5"" src=""/i/images/ico_pdf.gif"" width=""16"" border=""0"" title=""pdf-формат"">66 Кб</font>";
    var doc = new HtmlAgilityPack.HtmlDocument();
    doc.LoadHtml(str);
    var linkNodes = doc.DocumentNode.SelectNodes("//a[@href]");
    var link = linkNodes.First().Attributes["href"].Value;
READ ALSO
C# Запустить 2 одинаковых события

C# Запустить 2 одинаковых события

Вот например у меня есть PictureBox и мне надо рендерить на нем что-нибудь и проверять не рисую ли я на том что рендерится, если делать в MouseMove то к-во...

182
Умные алгоритмы поиска в базе данных (asp.net)

Умные алгоритмы поиска в базе данных (asp.net)

Есть сущность товараОдин товар может иметь много названий (на разных языках)

175
Javascript, поиск плагинов [требует правки]

Javascript, поиск плагинов [требует правки]

Кто нибудь видел подобные слайдеры, или плагины, киньте ссылку пжлст

197