.//div/h1/text() | .//div/h2/text()
을 사용하여 여러 경로를 선택할 수 있습니다. 그러나 두 경로 모두에 공통적 인 부분 (이 경우 .//div/
)을 명시 적으로 작성하지 않고이를 수행 할 수있는 방법이 있는지 알고 싶습니다.x- 경로 "|"연산자 사용
2
A
답변
2
바로 가기의 경우 XPath 2.0을 사용하면 예를 들어 예 : //div/h1 | //div/h2
//div/(h1 | h2)
이지만 XPath 1.0에는 해당 구문을 사용할 수 없습니다. XPath 3.0은 변수를 정의하기 위해 let
절을 도입 할 것입니다. 그래서 거기에 당신이 할 수 있다고 생각합니다. let $r := /html/body/div[3]/table[2]/tbody/tr[5] return ($r/span | $r/a)
.
XPath 2.0을 사용하여 수정 한 샘플의 경우 .//div/h1/text() | .//div/h2/text()
을 .//div/(h1/text() | h2/text())
으로 줄일 수 있습니다. 그러나 XPath 1.0을 사용하면 모두 .//div/*[self::h1 | self::h2]/text()
을 사용할 수 있습니다.
+0
실수를 수정했습니다. 표현은 다른 의미였습니다. 고마워, 설명. – root
0
.//div/*[(local-name() = 'h1') or (local-name() = 'h2')]/text()
트릭
0
사용 수행해야합니다
.//div/(h1|h2)/text()
관련 문제
- 1. 모든 연산자 + X
- 2. 대입 연산자 대체 할당 연산자 사용 가능
- 3. F # (.. ..) 연산자 사용/과부하
- 4. 사용 || 연산자
- 5. 사용 % 연산자
- 6. libxml X 경로 식
- 7. 세 객체에 대해 "=="연산자 사용
- 8. == 연산자 오버라이드에서 GetHashCode 사용
- 9. X 경로 표현 이해
- 10. 연산자/메서드에 변수 사용
- 11. && 삼항 연산자 사용
- 12. 구문 오류 "사용"연산자
- 13. Vim의 연산자 사용
- 14. CLIPS에서 논리 연산자 사용
- 15. PHP에서 삼항 연산자 사용
- 16. 올바른 연산자 사용 '에서'
- 17. 사용 방법 : 연산자 :
- 18. 사용 스칼라 연산자
- 19. 조건부 연산자 사용
- 20. All 연산자 사용
- 21. mod 연산자 사용 C++
- 22. 배열 구독 연산자 사용
- 23. 임의 연산자 사용
- 24. ada에서 mod 연산자 사용
- 25. 연산자 x ++; 및 ++ x; int.What 빠른 무엇입니까? 그리고 왜?
- 26. 파이썬 경로 맥 OS X
- 27. 경로 X 그리기 원점에서 킬로미터
- 28. mysql 소켓 경로 os x
- 29. 목표 c 키 경로 연산자 @ avg, @max
- 30. 코드 뒤에있는 루트 연산자 ("~") 주소의 상대 경로
에 대한 질문을 요청하는 경우 : XPath는 2.0 일에서
이하여 사용할 수 있습니다 XPat h. XPath 1.0 또는 2.0에 관심이 있는지 여부는 답변이 서로 다르고 두 버전이 모두 널리 사용되고 있기 때문에 실제로 말해야합니다. –