我想使用HtmlAgilityPack从网站上获取一些数据。
数据存储在具有属性class="addresscolor__"
的对象中。但问题是有多个这个名字的类。我想知道有没有办法从具有该值的特定类中获取此数据,使用“Start with”或“Contained ..”或类似的东西?
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>
标记值,但我只想在“Mobile”span标记中使用数字。
答案 0 :(得分:1)
找到这一段:
//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类,还要考虑a node can have multiple classes and how to deal with that。