2012-03-26 84 views
0

說我有元素樹通過XQuery的如何瀏覽lxml中的元素?

categories = tree.xpath(u"//ul[@class='tree-root']/li") 

for cat in categories: 
    catName = cat.find('span/span') # is there any shortcut for this? 

返回正如你可以看到我使用發現,以訪問span元素。問題是有沒有什麼捷徑訪問具有已知路徑的子元素或查找是唯一的方法?

+0

比單次調用短什麼? – Marcin 2012-03-26 08:43:36

+0

'發現'聽起來像做一些搜索工作,影響性能,而我當然知道路徑,並且沒有必要搜索。 – Pablo 2012-03-26 09:19:52

回答

2

您可以在元素中使用xpath()一樣的樹:

span = cat.xpath('span/span') 

不幸的是,我找不到任何有關在文檔更直接地訪問任何子元素。它們可以作爲列表元素迭代或訪問,但這不太方便。 Element類只提供對當前元素的屬性的訪問。

+0

我的意思是有什麼方法可以本地訪問它們,如cat ['span'] ['span']或cat.span.span? – Pablo 2012-03-26 09:09:22

+0

我不認爲這是可能的。我已經擴大了答案。 – 2012-03-26 09:23:26

+0

太糟糕了...無論如何,спасибо:) – Pablo 2012-03-26 09:30:39

相關問題