我想使用HtmlAgilityPack从网站上获取一些数据。数据存储在具有属性class =“vcard-content”的对象中。但我想知道的问题是有没有办法从具有该值的特定类中获取此数据,使用“Start with”或“Contained ..”或类似的东西? 我想只获得电话号码和电子邮件
HTML代码:
<span>
<img alt="09122270931" src="../img/profile/icon03.png"></img>
Phone Number : 09122270931
</span>
<span>
<img alt="persian8008@yahoo.com" src="../img/profile/icon07.png"></img>
Email: persian8008@yahoo.com
</span>
我使用此代码,但它返回空值。
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='vcard-content' and contains(text, 'Phone Number :')]/span/text()");
和
HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//div[@class='vcard-content' and (starts-with(normalize-space(), '@'))]/span/text()");
答案 0 :(得分:0)
您可以尝试此XPath查询:
"//div[@class='vcard-content']/span[contains(., 'Phone Number :')]/text()"
这将搜索具有类属性值等于'vcard-content'并且具有包含文本'Phone Number:'的子<div>
元素的<span>
元素,然后在<span>
内选择文本。您可以使用类似的结构来搜索包含“Email:”的<span>
元素。