Парсинг html: получить значение между тегами - C#

Узнай цену своей работы

Формулировка задачи:

Я вот хочу написать парсер, наткнулся на код и он получал атрибуты href, я хотел получить значение между <a></a> Написал вот это :
Листинг программы
  1. wClient = new WebClient();
  2. wClient.Proxy = null;
  3. wClient.Encoding = encode;
  4. var doc = new HtmlDocument();
  5. doc.LoadHtml(wClient.DownloadString("http://dota2.ru/heroes/"));
  6. var listsNode = doc.DocumentNode.SelectNodes("//div[@class='list']");
  7. foreach (HtmlNode s in listsNode)
  8. {
  9. foreach (HtmlNode aNode in s.ChildNodes)
  10. {
  11. if (aNode.Name == "a")
  12. {
  13. Console.WriteLine(aNode.InnerText);
  14. }
  15. }
  16. }
  17. Console.ReadKey();

Решение задачи: «Парсинг html: получить значение между тегами »

textual
Листинг программы
  1. static List<dynamic> DownloadHeroes()
  2. {
  3.     var wc = new WebClient() { Encoding = Encoding.UTF8 };
  4.     var doc = new HtmlDocument();
  5.     doc.LoadHtml(wc.DownloadString("http://dota2.ru/heroes/"));
  6.     var nodes = doc.DocumentNode.SelectNodes("//div[@class='list']/*/div[@data-name]");
  7.  
  8.     return nodes.Select(node => new
  9.         {
  10.             Name = node.Attributes["data-name"].Value,
  11.             AttackType = node.Attributes["data-attack-type"].Value,
  12.             DataRole = node.Attributes["data-role"].Value
  13.                 .Split(new char[] { ' ', '-' }, StringSplitOptions.RemoveEmptyEntries)
  14.         }).ToList < dynamic>();
  15. }
  16.  
  17. var heroes = DownloadHeroes();
  18. foreach (var hero in heroes)
  19. {
  20.     Console.WriteLine("{0}\nТип атаки: {1}\nРоль: {2}\n",
  21.         hero.Name, hero.AttackType, String.Join(", ", hero.DataRole));
  22. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут