반응형
내부 텍스트별 XPath 선택
구문 분석된 XML 문서에서 특정 내부 텍스트를 가진 요소를 추출하려고 합니다.특정 내부 텍스트를 가진 자식이 있는 요소를 선택할 수 있다는 것을 알고 있습니다.//myparent[mychild='foo']
, 하지만 사실 이 예제에서 "my child" 요소를 선택하고 싶습니다.
<myparent>
<mychild>
foo
</mychild>
</myparent>
"my child" 노드를 반환하는 "foo"에 대한 XPath 쿼리는 무엇입니까?
이거 먹어봤어요?
//myparent/mychild[text() = 'foo']
또는 바로 가기 키를 사용하여self
축:
//myparent/mychild[. = 'foo']
매트가 말했지만, 완전한 해결책은:
//myparent[mychild='foo']/mychild
사용하는 것을 고려해 볼 수 있습니다.contains
다음과 같이 테스트가 발견된 경우 true/false를 반환하는 기능:
//mychild[contains(text(),'foo')]
함수 참조는 XSLT, XPath 및 XQuery 함수 참조
HTML에 따라:
<myparent>
<mychild>
foo
</mychild>
</myparent>
그<mychild>
foo가 상위 항목 내에 있는 텍스트를 포함된 요소<myparent>
tag 및 텍스트에는 선두 및 뒤의 공백 문자가 포함됩니다.
그래서 선택하기 위해서는<mychild>
element는 다음 솔루션 중 하나를 사용할 수 있습니다.
사용.
normalize-space()
://myparent/mychild[normalize-space()='foo']
사용.
contains()
://myparent/mychild[contains(., 'foo')]
부모 무시하기<myparent>
태그를 사용할 수도 있습니다.
사용.
normalize-space()
://mychild[normalize-space()='foo']
사용.
contains()
://mychild[contains(., 'foo')]
언급URL : https://stackoverflow.com/questions/1998681/xpath-selection-by-innertext
반응형
'programing' 카테고리의 다른 글
C에서 128비트 정수 할당 (0) | 2023.09.20 |
---|---|
Visual Studio 2010에 64비트에 대한 #정의가 있습니까? (0) | 2023.09.20 |
SQLite3 및 여러 프로세스 (0) | 2023.09.20 |
C# 문자열 값을 이스케이프된 문자열 리터럴로 변환할 수 있습니까? (0) | 2023.09.20 |
빈 문자열을 허용하는 PowerShell Function Parameters의 유효성을 검사하는 방법은 무엇입니까? (0) | 2023.09.20 |