2012-05-01 2 views
7

나는 ... 이러한 xpath 표현식은 어떻게 조합합니까?

//*[@id='gutter']/p[strong[text()='Date:']]/text() 
//*[@id='gutter']/p[strong[text()='Time:']]/text() 

어떻게 위의 두 가지를 결합하고 개별적으로 위의 표현의 각각의 실행과 같은 요소를 반환 한 XPath 식을 두 XPath 식을 작성하려면 어떻게해야합니까 있나요?

+0

"동일한 텍스트 노드를 반환 하시겠습니까?" –

답변

4

방법에 대한 자세한 이하의 설명이 필요하다

//*[@id='gutter']/p[strong[text()='Date:' or text()='Time:']]/text() 

. 일반적

14

이 XPath 표현 :

expr1 | expr2 

연합 expr2이 의해 선택된 expr1을 의해 선택된 모든 노드 및 모든 노드을 선택한다.

| 문자는 XPath 유니온 연산자를 나타냅니다.

여러 XPath 표현식으로 선택된 노드의 합집합을 반환하려는 경우 어쨌든 union 연산자를 사용할 수 있습니다. 이 콘크리트의 경우에서

이 식을 최적화 할 수 있지만,이 조합 운영자가 이러한 모든 경우에 "작동"장점이있다

//*[@id='gutter']/p[strong[text()='Date:']]/text() 
| 
//*[@id='gutter']/p[strong[text()='Time:']]/text() 

, 거의 기계적으로 표현되는 시간을 절약 할 수 있으며, 보다 복잡한 리팩토링으로 오류가 발생할 가능성을 제거합니다.

관련 문제