Парсинг внутри тегов - C#
Формулировка задачи:
Добрый день.
Подскажите как правильно спарсить блок текста. Использую HtmlAgillityPack
Делаю таким алгоритмом:
В чем может быть проблема? Первый тег <span class="news__list__item__info">15:35</span> парсится хорошо, значение времени получаем нормальные. А вот сам заголовок новости в теге
<span class="news__list__item__link__text">«Макдоналдс» подал в суд на Роспотребнадзор РТ</span> нет.
Судя по структуре документа первый требуемый тег находится нормально из-за того что он не вложен в другой тег, а вот второй тег находится внутри тега <a> </a>
Подскажите пожалуйста как искать внутри этого тега или какой-нибудь вариант.
<div class="news__list__item"> <span class="news__list__item__info">15:35</span> <span class="news__list__item__link__text">«Макдоналдс» подал в суд на Роспотребнадзор РТ</span> <a name="n160247270" href="http://news.mail.ru/inregions/volgaregion/16/economics/19420469/?frommail=1" class="news__list__item__link" target="_blank"> <span class="news__list__item__link__text">«Макдоналдс» подал в суд на Роспотребнадзор РТ</span> </a> </div>
static void Main(string[] args) { HtmlDocument doc = new HtmlDocument(); doc.Load(@"D:\new2.html"); HtmlNodeCollection Nodes = doc.DocumentNode.SelectNodes("//div[@class = 'news__list__item']"); foreach (var node in Nodes) { var timeStamp = node.SelectSingleNode("span[@class='news__list__item__info']").InnerText; var text = node.SelectSingleNode("span[@class = 'news__list__item__link__text']").InnerText; Console.WriteLine("Time: {0}\r\n\r\nText: {1}\r\n\r\n", timeStamp,text); } Console.ReadLine();
елки палки в исходник html попал тег в строке 3, его в в оригинале нет, это мой тест
Решение задачи: «Парсинг внутри тегов»
textual
Листинг программы
15:35 В регионах ПФО находятся 53 тыс. беженцев из Украины Для продолжения нажмите любую клавишу . . .
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д