1.상대 위치 지정과 절대 위치 지정
// 상대 위치 지정은 자주 변경되는 페이지나 노드에 사용해야 합니다. 검색
/은 절대 위치 지정을 의미합니다. 이 변경되지 않은 경우 절대 위치 지정을 사용하여 검색할 수 있습니다.
최상위 노드: 서점
현재 노드: ". ”
현재 노드가 여러 개인 경우 여러 개 일치
현재 노드가 다음과 같은 경우 1만 일치하고 1
과 일치합니다. 현재 노드 상위 노드 : " ..”
html/body 아래의 p의 경우 상위 노드는 body이며 절대적으로 사용됩니다. path는 html에서 본문을 찾은 다음 p를 찾은 다음 p의 상위 노드와 일치해야 함을 의미합니다.
부모 노드를 상대 경로로 찾아보면 p부터 절대 위치를 고려하지 않는 것을 볼 수 있는데, 즉, body부터 시작하여 상위 노드의 조건을 충족하는 모든 요소를 찾습니다.
현재 노드 아래의 모든 요소 찾기: //book[1]/..
노드 인덱스 + 상위 노드
//book: book
이라는 이름의 모든 태그 찾기
Baidu의 또 다른 제품
1.위치 속성이 category
//book[@category='cooking'] '[]인 요소 '은 검색 속성을 의미합니다
2.정확한 위치 지정을 위해 text 텍스트 속성을 사용합니다.
//book//price
에서 텍스트가 30.00인 요소를 찾습니다.
2004보다 큰 연도 태그에서 텍스트 요소를 찾습니다.
3. 위치를 퍼지하려면 포함을 사용하고, 포함은
을 포함함을 의미합니다. 🎜>텍스트 정보에Potter: //title[contains(text(),"Potter")]
가 포함된 요소를 찾기 위한 퍼지 위치 지정 확장 연습하세요
4 “*”
는 무엇이든 의미합니다. 속성 모든 속성속성 값이 있는 모든 속성 찾기:
//@*
태그 에서 속성이 있는 모든 요소 찾기:
Not
을 부정한다는 것은 은 title 태그에서 속성이 없는 요소를 찾는다는 뜻입니다. 여기에는 아무도 없으므로 저는 찾지 못했습니다. @*은 모든 속성을 의미합니다.
not(@*)은 속성이 없음을 의미합니다.
5.
category 속성//@category을 사용하여 요소 찾기
5.
논리 연산자2. or 연산자를 사용하여 요소를 찾습니다.
// book[@ Category="children" 또는 @cover="paperback"]
3.
를 부정하여 요소를 찾습니다. //book[not(position()>2)]
가져오기
//book[not(position( )>2)] 부정 아님
//year[not(.=2005) ] 은
2005 텍스트가 아닌 연도 노드를 나타냅니다. 노드“>=”“연산자 위치 지정 요소
//price>=30으로 요소 찾기 가격이 30보다 크거나 같은 이 있습니다. 부울 true를 반환합니다. 은 존재하지 않습니다. 부울: false
“!”연산자를 통해 요소 찾기
//book [@category!='web' ]
//book[1]
의 첫 번째 요소 찾기: 첫 번째 책 태그 포함 🎜>
2.
위치
번째 3위치 🎜>요소//bookstore/book[position()=3]
3.
위치
//bookstore/book[position()>=2]
를 통해 여러 요소 가져오기 4. ()마지막 요소를 찾는 함수
//book[last()]
5.합격 last ()
함수는 끝에서 두 번째 요소를 찾습니다//book[last()-1]
7 .
축 위치 지정
의 상위 요소 찾기:
// book [1]/title/parent::*
book[1]
의 하위 요소 찾기:// book[ 1]/child::*
//book/child::price태그 가격이 있는 책 태그 아래의 모든 하위 요소를 찾습니다.
팔로우-형제
신청
//bookstore/book[1]/child::title/following-sibling::*following-sibling은 현재 노드
제목
뒤의 모든 형제 노드를 찾는 것을 의미합니다.
/bookstore/book[1]/child::title/following-sibling::author
following-sibling::author이후의 모든 형제 노드를 검색하도록 지정
titleauthor라는 요소
preceding-sibling::*는 현재 노드의 모든 이전 형제 노드 요소를 나타냅니다.
//bookstore /book[1]/child::price/preceding-sibling::*
은price 노드 앞에서 모든 형제 요소
를 찾는 것을 의미합니다.self를 포함한 상위 노드 찾기: //book[1]/ancestor-or-self::*
self를 포함한 하위 노드 찾기: //book[1]/descendant-or-self::*
현재 노드의 모든 요소 찾기: //book[1]/preceding::* 현재 노드 아래의 모든 요소 찾기
//book[2]//preceding::* 은 book[2] 및 book[2] 노드를 배치합니다. before
의 모든 요소 찾기 축 요약:
parent::*는 현재 노드의 상위 노드 요소를 나타냅니다.
ancestor::*는 현재 노드의 상위 노드 요소를 나타냅니다.
child:: *는 현재 노드를 나타냅니다. /A/descendant::* 노드의 하위 요소는 A의 모든 하위 요소를 나타냅니다.
self::*는 현재 노드의 self 요소를 나타냅니다.
ancestor-or-self::* 현재 노드와 그 조상 노드를 나타냅니다. 요소
descendant-or-self::*는 현재 노드와 그 하위 요소를 나타냅니다.
following-sibling::*는 현재 노드의 다음 순서로 모든 형제 노드 요소를 나타냅니다.
preceding-sibling::*은 현재 노드 앞에 있는 모든 형제 노드 요소를 나타냅니다.
following::*는 현재 노드의 다음 순서에 있는 모든 요소를 나타냅니다.
preceding::*는 현재 노드의 모든 요소를 나타냅니다. 현재 노드
위 내용은 Xpath 포지셔닝 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!