반응형
XPath-값과 동일한 요소 선택
Xpath에서 특정 값과 동일한 요소를 선택하고 싶습니다.
샘플 XML 데이터 :
<aaa id="11" >
<aaa id="21" >
<aaa id="31" ></aaa>
<bbb id="32" >
<aaa id="41" ></aaa>
<bbb id="42" ></bbb>
<ccc id="43" ></ccc>
<ddd id="44" >qwerty</ddd>
<ddd id="45" ></ddd>
<ddd id="46" ></ddd>
</bbb>
</aaa>
<bbb id="22" >
<aaa id="33" >qwerty</aaa>
<bbb id="34" ></bbb>
<ccc id="35" ></ccc>
<ddd id="36" ></ddd>
<ddd id="37" ></ddd>
<ddd id="38" ></ddd>
</bbb>
<ccc id="23" >qwerty</ccc>
<ccc id="24" ></ccc>
</aaa>
이제 XPath를 사용합니다.
//ccc[.='qwerty']
올바른 예상 결과를 얻습니다 .
Name Value
ccc qwerty
이제 XPath를 사용합니다.
//aaa[.='qwerty']
내가 얻을 예상치 못한 결과를 :
Name Value
aaa
aaa qwerty
제가 특히 관심이 있는 것은 해당 값을 가진 요소 를 선택 하는 방법 입니다.
XPath :
//*[.='qwerty']
나는 매우 이상한 예기치 않은 결과를 얻습니다 .
Name Value
aaa
bbb
ddd qwerty
bbb qwerty
aaa qwerty
ccc qwerty
누군가 이러한 결과를 설명하고 더 많은 예상 결과를 얻기 위해 XPath 표현식을 수정하는 방법을 설명 할 수 있습니까?
XPath 사양. 요소 의 문자열 값 을 모든 텍스트 노드 하위 항목의 연결 (문서 순서)로 정의합니다 .
이것은 "이상한 결과"를 설명합니다.
아래 표현식을 사용하여 "더 나은"결과를 얻을 수 있습니다.
//*[text() = 'qwerty']
위의 코드는 값이 'qwerty'인 텍스트 노드 자식이 하나 이상있는 문서의 모든 요소를 선택합니다.
//*[text() = 'qwerty' and not(text()[2])]
위는 텍스트 노드 자식이 하나만 있고 그 값이 'qwerty'인 문서의 모든 요소를 선택합니다.
시험
//*[text()='qwerty']
때문에 .
당신입니다 현재 요소
참고 URL : https://stackoverflow.com/questions/3206975/xpath-selecting-elements-that-equal-a-value
반응형
'development' 카테고리의 다른 글
datetime 객체에서 pytz 시간대를 제거하려면 어떻게해야합니까? (0) | 2020.08.28 |
---|---|
DateTime에서 시간대 가져 오기 (0) | 2020.08.28 |
Composer에서 패키지를 전역으로 제거하는 방법은 무엇입니까? (0) | 2020.08.28 |
브라우저가 asp.net 응용 프로그램에서 최신 js 및 css 파일을 가져 오도록 강제 (0) | 2020.08.28 |
java.lang.OutOfMemoryError 잡기? (0) | 2020.08.28 |