2012-03-26 3 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? 

에 의해 반환 말해봐. 문제는 알려진 경로가있는 하위 요소에 액세스하는 모든 바로 가기 또는 찾기가 유일한 방법입니까?

+0

단일 통화보다 짧은 것은 무엇입니까? – Marcin

+0

'find'는 검색 작업을하는 것처럼 들리지만 성능에는 영향을 미치지 만 확실히 경로를 알고 검색 할 필요는 없습니다. – Pablo

답변

2

당신은 나무에 같은 요소에 같은 방식으로 xpath()를 사용할 수 있습니다

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

불행하게도, 나는 문서의 하위 요소에 더 직접 액세스에 대해 아무것도 찾을 수 없습니다. 목록 요소로 반복되거나 액세스 될 수 있지만 그다지 편리하지는 않습니다. 클래스는 현재 요소의 특성에만 액세스 할 수 있습니다.

+0

고양이 [ 'span'] [ 'span'] 또는 cat.span.span처럼 네이티브 액세스 할 수있는 방법이 있습니까? – Pablo

+0

나는 그것이 가능하지 않다고 생각한다. 나는 그 대답을 조금 더 확장했다. –

+0

너무 나쁜 ... 어쨌든, спасибо :) – Pablo

관련 문제