2010-07-18 65 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