2010-01-31 2 views
1

note 트리 내 노드의 하위 차원을 측정하기 위해 가로 깊이라는 용어를 사용했습니다.노드의 수평 깊이를 얻는 방법?

그렇게/HTML/테이블과 같은 XPath는 뭔가있을 것입니다 이는 상상/TBODY/TR/TD, 내가 요소를 식별하고 선택하는 방법이 있는지 확인하기 위해 노력하고 5

의 "수평 깊이" 이 수평 깊이를 기반으로합니다.

어떻게 최대 깊이를 찾을 수 있습니까?

+3

나무의 깊이의 직관적 인 정의와 "수평 깊이"가 다른 점은 무엇입니까? – ldog

+0

차이가 없습니다. 나는 수직과 수평 깊이를 혼동하고 싶지 않았다. – bohohasdhfasdf

+0

예제 XML과 예상 결과 집합을 제공해야한다고 생각합니다. –

답변

4

당신은 깊이있는 모든 노드가 필요한 경우> = 5 :

/*/*/*/*//* 

그리고 당신은 깊이 == 5 모든 노드가 필요한 경우 : 사실

/*/*/*/*/* 

을하는 XPath는 기능이있다 당신이 ancestor 축과 결합 할 수 있습니다 count :

//*[count(ancestor::*) >= 4] 
+0

최대 깊이를 얻는 방법? – bohohasdhfasdf

+0

세로 또는 가로? 놀림, 나는 XPath (운이없는 짧은 인터넷 검색)를 사용하는 것을 모릅니다. 하지만 XPath로 모든 노드를 가져 가면 루비에서는 조상이 가장 많은 노드를 찾습니다. –

1

는 생각 "수직 드 그 pth "와"horizontal depth "는 모호하다. XPath에 이미 존재하는 축 용어를 사용하지 않을 이유가 있습니까? "조상의 수"및 "이전 형제의 수"를 참조하십시오. 약간 더 장황하지만 많지는 않지만 a) 모호하지 않습니다. b) 용어는 count(ancestor::*)count(preceding-sibling::*)에 매핑됩니다.

+0

트리의 최대 깊이는 어떻게 얻을 수 있습니까? – bohohasdhfasdf