从span 2获取HTMLagilitypack的数据

时间:2014-03-02 13:16:23

标签: c# html .net xpath html-agility-pack

我想使用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()"); 

1 个答案:

答案 0 :(得分:0)

您可以尝试此XPath查询:

"//div[@class='vcard-content']/span[contains(., 'Phone Number :')]/text()"

这将搜索具有类属性值等于'vcard-content'并且具有包含文本'Phone Number:'的子<div>元素的<span>元素,然后在<span>内选择文本。您可以使用类似的结构来搜索包含“Email:”的<span>元素。