2012-01-25 3 views
3

내가 관리해야하는 코드를 이해하려고합니다. HtmlAgilityPack이 일부 노드 선택에 사용되는 html 조작을 발견했습니다. 누군가는이 xpath 선택기의 의미를 압니까?xpath 구문 의미

//table/*[not(self::tr or self::tbody)] 
+0

에 해당? – AakashM

+0

어떤 요소가 예상됩니까? "각 테이블에 대해 [조건]을 확인하는 모든 하위 요소"형식으로 – g1ga

답변

2

: (*) 등은 있다는 그 자체가

는 모든 요소 노드를 선택하지 않은 tr 또는 tbody ([not(self::tr or self::tbody)]) 그 어느 곳에서든지 나타날 수있는 table 요소의 자식입니다 문서 (//table)에 있습니다.

그것은 다음 않은 약식 표현 부분 (들) 당신이 이해하지 못하는

/descendant-or-self::node()/child::table/child::*[not(self::tr or self::tbody)] 
2

self 네임 스페이스없이, 고려 요소 노드의 이름을 참조하는 편리한 방법입니다.

이 예제에서, 우리는 table의 자식이며, 하지 tr 또는 tbody입니다 어떤 요소와 일치합니다. 영어