Как получить Div внутри Div htmlagilitypack - PullRequest
0 голосов
/ 10 декабря 2018

сначала .. извините за мой плохой английский

мой вопрос, как я могу очистить div внутри div в htmlagilitypack c #

это тестовый 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 голосов
/ 10 декабря 2018

Вы должны использовать этот путь => //div[contains(@class, 'test')]

Это означает, что вам нужно выбрать те div, которые содержат класс с именем ads__item.и затем выберите все те выбранные div (s) внутренний 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

0 голосов
/ 10 декабря 2018

Вы можете выбрать все узлы внутри класса all_ads следующим образом: -

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

.//div[@class='all_ads ads__item'] Это выберет все узлы внутри all_ads с классом ads_item.

...