Я хочу получить некоторые данные с веб-сайта, используя HtmlAgilityPack. Данные хранятся в объекте с class="addresscolor__"
property class="addresscolor__"
. Но проблема в том, что существует более одного класса с этим именем. И я хочу знать, есть ли способ получить эти данные из определенного класса с этим значением, используя "Начать с" или "Содержится.." или что-то вроде этого?
Код HTML:
<p class="addresscolor__">
<span>Phone:</span>
33875362 ، 22356341
<br />
</p>
<p class="addresscolor__">
<span>mobile:</span>
09125231827
<br />
</p>
Я использую этот код:
HtmlNodeCollection nodes2 = doc.DocumentNode.SelectNodes("//p[@class='addresscolor__']");
Другое дело, что этот класс содержал тег span и с этими кодами я улавливал все значения тега <p>
, но я хочу число только в теге span "Mobile".
Для нахождения этого абзаца:
//p[@class='addresscolor__' and contains(span, 'mobile:')]
Для ограничения его текстового узла (номер телефона):
//p[@class='addresscolor__' and contains(span, 'mobile:')]/text()
Для дальнейшего удаления пробелов:
normalize-space(//p[@class='addresscolor__' and contains(span, 'mobile:')]/text())
Для сопоставления классов HTML также учитывайте, что узел может иметь несколько классов и как с этим бороться.