Подскажите пожалуйста как из этого блока выбрать только вот это : 8.85 р / шт
дисконт 8.60
8.85 р / шт
8.85 р / шт
Сейчас пробую так: var price = document.Result.QuerySelectorAll(@".price"); Но в результате выводится все, что находится в блоке
Ответ
Я дал вам ссылку на вопрос на enSO, там есть красивый вариант (через чтение AngleSharp'ом безымянных блоков CSS) и мой варварский в вопросе (вырезанием всех "лишних" нод).
В вашем случае начните с чего-то типа:
var parser = new HtmlParser();
var document = parser.Parse(@"
дисконт 8.60
8.85 р / шт
");8.85 р / шт
var priceBlocks = document.QuerySelectorAll("div.price");
foreach (var block in priceBlocks) { var element = block.ChildNodes.First(o => o.NodeType == AngleSharp.Dom.NodeType.Text && o.TextContent.Trim() != "");
element.Text().Trim().Dump(); }
Linqpad говорит, что вам вполне сойдёт для начала:
Писал наспех, поэтому подразумеваю, что вы понимаете, что такое linq.
Комментариев нет:
Отправить комментарий