使用XPath获取页面上唯一的电子邮件地址

时间:2012-06-29 19:08:11

标签: xml xpath

我一直在尝试使用XPath从网站中提取电子邮件地址。整个页面上只有一个电子邮件地址。有没有一种简单的方法可以使用XPath引用一个电子邮件地址?

类似于://a/contains(@href,'@')

我尝试过类似于上面发布的内容但没有成功,我很感激有关使用Xpath提取电子邮件地址的可靠方法的建议。假设页面上只有1个电子邮件地址,除了简单的<a href="mailto:example@george.com">标签外没有任何标识信息。

谢谢

1 个答案:

答案 0 :(得分:1)

//a[contains(text(), "@")]

这将返回包含电子邮件地址的节点(至少是@个标志),而不是电子邮件地址本身。

如果您确定该节点仅包含 电子邮件地址而没有其他相邻文本,则可以使用

//a[contains(text(), "@")]/text()

如果无法确定,则必须手动将其从文本中进行字符串处理。这在XPath 1.0中会非常痛苦,因为根据您的实现,您可能无法访问任何REGEX功能。