1
我想用lxml.etree.findall
在XHTML文件中找到所有樣式表定義。這可能很簡單etree.findall:'OR'-lookup?
elems = tree.findall('link[@rel="stylesheet"]') + tree.findall('style')
但是CSS樣式定義的問題是,順序很重要,例如,
<link rel="stylesheet" type="text/css" href="/media/css/first.css" />
<style>body:{font-size: 10px;}</style>
<link rel="stylesheet" type="text/css" href="/media/css/second.css" />
如果style
標籤的內容是在所述兩個link
標記的規則之後施加,則結果可能是從一個其中規則在定義的順序應用完全不同。
那麼,我該如何做一個查找,包括link[@rel="stylesheet"]
和style
?
好笑,我試圖以'tree.findall'表達,它沒有發生,我認爲'tree.xpath'可以工作。謝謝! – 2010-03-16 11:37:04
不客氣!在我寫作時,我意識到你的'findall'表達式包含一個謂詞,我不知道它會接受。自從熟悉'xpath'後,我一直沒有回到'findall'。 – MattH 2010-03-16 11:43:53