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

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

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

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

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

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

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


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

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

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