如何在Div htmlagilitypack中获取Div

时间:2018-12-10 08:01:28

标签: c# html-agility-pack

首先..对我的英语不好感到抱歉

我的问题是我如何在htmlagilitypack C#的div内抓取div

这是测试html代码

<html>
  <div class="all_ads">

    <div class="ads__item">
       <div class="test">
          test 1
         </div>
     </div>

    <div class="ads__item">
       <div class="test">
          test 2
         </div>
     </div>

    <div class="ads__item">
       <div class="test">
          test 3
         </div>
     </div>

  </div>
</html>

如何制作一个循环以获取所有广告,然后循环以控制广告中的测试

2 个答案:

答案 0 :(得分:0)

您可以选择类all_ads内的所有节点,如下所示:-

var res = div.SelectNodes(".//div[@class='all_ads ads__item']");

.//div[@class='all_ads ads__item']将选择all_ads中具有类ads_item的所有节点。

答案 1 :(得分:0)

您必须使用此路径=> //div[contains(@class, 'test')]

这意味着您需要选择那些包含名称为ads__item的类的div。 然后选择所有这些选定的div内部html。喜欢

class Program
{
    static void Main(string[] args)
    {
        string html = File.ReadAllText(@"Path to your html file");

        HtmlDocument doc = new HtmlDocument();

        doc.LoadHtml(html);

        var innerContent = doc.DocumentNode.SelectNodes("//div[contains(@class, 'test')]").Select(x => x.InnerHtml.Trim());

        foreach (var item in innerContent)
            Console.WriteLine(item);

        Console.ReadLine();
    }
}

输出:

enter image description here