Пакет гибкости HTML получает все div с классом

c# html-agility-pack

Вопрос

Я пытаюсь использовать сложный HTMl. Мне нужно получить некоторый текст из div с определенным классом.

То, что я пытаюсь сделать, - это пакет html agility, чтобы пройти через весь html и найти все divs whos class, содержащие «listevent», и вернуть мне их.

Когда я искал в Интернете, я узнал, что если я его сопоставляю, это возможно, но некоторые из этих divs находятся под некоторыми div, поэтому мы пытаемся найти простой способ.

HTML выглядит так:

<div>
    <div>
       <table>
          <tr>
            <td>
              <div class="thisone listevent"></td>
            <td>
              <div class="thisone listevent"></td>
           </tr>
         </table>
     </div>
 </div>

Принятый ответ

Вы можете использовать метод SelectNodes

foreach(HtmlNode div in document.DocumentNode.SelectNodes("//div[contains(@class,'listevent')]"))
{
}

Если вы более знакомы с селекторами стиля css, попробуйте fizzler и сделайте это

document.DocumentNode.QuerySelectorAll("div.listevent"); 


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow