2010-07-18 64 views
2

我使用Python 2.4/2.5,与libxm2dom中的XPath返回。我可以导入HTML文档并构建DOM。有没有一种方法以编程方式“搜索”的特定期限,并能够工艺的XPath函数来提取href的期限有多长?例如,从文件中指定的HTML的这个块:找到的元素,并使用Python

... 
<a href="dog">bigdog</a> 
... 

我想有一个XPath功能会发现bigdog,并返回XPath来获得href链接。

+1

如果你想从Python使用libxml2,你应该使用lxml。它提供了比传统DOM更强大和更方便的API。 – lunaryorn 2010-07-18 18:37:38

+0

请以清晰,简洁的方式提问问题......请参阅我对此问题的编辑。 – 2011-12-19 19:21:04

回答

0

此XPATH将选择文本为“bigdog”的a元素的@href

//a[text()='bigdog']/@href 
+0

哎MADS, 感谢..应该更清楚。其实我一直在寻找一种方法来完成一个正则表达式,并能够创建XPath那么这将让他们元素基于正则表达式的功能... 像 //一个[文本()='正则表达式( )']/@ HREF – 2010-07-18 19:26:53

+0

libxml2dom仅支持XPATH 1.0,所以XPATH等比赛2.0函数()(其支持正则表达式)所出。不确定它是否支持EXSLT。如果是这样,那么你可以在exslt:match()函数中使用REGEX。 http://www.exslt.org/regexp/functions/match/index.html显然,LXML支持EXSLT扩展,所以如果需要的话,你可以使用它。 – 2010-07-19 00:18:38