2012-03-26 85 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

相关问题