如何在 Div htmlagilitypack 中获取 Div

How To Get Div inside Div htmlagilitypack

首先..抱歉我的英语不好

我的问题是如何在 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>

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

您可以selectclassall_ads内的所有节点如下:-

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

.//div[@class='all_ads ads__item'] 这将 select 内的所有节点 all_ads 其中有 class ads_item.

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

这意味着您需要 select 包含 class 且名称为 ads__item 的那些 div(s)。 然后 select 所有那些 selected div(s) inner 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();
    }
}

输出: