Использую htmlagilitypack. Есть html код
<div class="ui-image-viewer-thumb-wrap" data-role="thumbWrap">
<a class="ui-image-viewer-thumb-frame" data-role="thumbFrame" href="javascript:void(0);" data-spm-anchor-id="a2g0v.12010108.1000017.1">
<img alt="Лидер продаж" title="Лидер продаж" src="https://ae01.alicdn.com/kf/HTB13IwpQFXXXXXgaXXXq6xXFXXXu/250-300-2-Pad.jpg_640x640.jpg" data-role="thumb"
style="max-width: 500px; max-height: 500px;" data-spm-anchor-id="a2g0v.12010108.1000017.i0.5703a98yCgFir">
</a>
</div>
Как из него можно получить ссылку на картинку (src)?
PS:
id("magnifier")/div[@class="ui-image-viewer-thumb-wrap"]/a[@class="ui-image-viewer-thumb-frame"]/img[1]/@src
не катит(.
Я думаю тут будет правильней что то вроде такого:
var imgNode = doc.DocumentNode.SelectSingleNode("/div[@class='ui-image-viewer-thumb-wrap']/a/img");
var url = imgNode.GetAttributeValue("src", null);
div
-а мы берем первый подходящий a
и в нем уже забираем первый img
. В итоге у нас в imgNode
будет элемент картинки.src
. Результатом будет string
значение нашей ссылки.Если у вас html в точности как вы указали, то данный вариант будет вполне неплохо работать.
С использованием XPathNavigator ваше выражение успешно отрабатывает:
var htmlDocument = new HtmlDocument();
htmlDocument.LoadHtml(@"
<div class='ui-image-viewer-thumb-wrap' data-role='thumbWrap'>
<a class='ui-image-viewer-thumb-frame' data-role='thumbFrame' href='javascript:void(0);' data-spm-anchor-id='a2g0v.12010108.1000017.1'>
<img alt='Лидер продаж' title='Лидер продаж' src='https://ae01.alicdn.com/kf/HTB13IwpQFXXXXXgaXXXq6xXFXXXu/250-300-2-Pad.jpg_640x640.jpg' data-role='thumb'
style='max-width: 500px; max-height: 500px;' data-spm-anchor-id='a2g0v.12010108.1000017.i0.5703a98yCgFir'>
</a>
</div>");
var path = "/div[@class='ui-image-viewer-thumb-wrap']/a[@class='ui-image-viewer-thumb-frame']/img[1]/@src";
var xpathNavigator = htmlDocument.CreateNavigator();
var srcValue = xpathNavigator.SelectSingleNode(path).Value;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть две программы, одна принимает аргументы, другая запускает программу с аргументами таким кодом:
каким наиболее простым способом можно программно наложить текст на изображение? в какую сторону копать, и какими библиотеками это проще...
С помощью определенной функции получаю все ссылки на классы в нужном Gameobject