xpath                
            특정 텍스트를 포함하는 요소 찾기
        
        
            
    수색…
특정 텍스트가있는 모든 요소 찾기
다음 XML을 상상해보십시오.
<root>
    <element>hello</element>
    <another>
        hello
    </another>
    <example>Hello, <nested> I am an example </nested>.</example>
</root>
 다음 XPath 표현식은 다음과 같습니다.
//*[text() = 'hello']
  <element>hello</element> 요소는 반환하지만 <another> 요소는 반환하지 않습니다. 이것은 <another> 요소가 hello 텍스트를 둘러싼 공백을 포함하기 때문입니다. 
 <element> 와 <another> 모두 검색하려면 다음을 사용할 수 있습니다. 
//*[normalize-space(text()) = 'hello']
 또는
//*[normalize-space() = 'hello']
  비교를하기 전에 주위의 공백을 없앨 것입니다. 여기에서 normalize-space 사용할 때 text() 노드 지정자가 선택 사항임을 알 수 있습니다. 
 특정 텍스트를 포함 하는 요소를 찾으려면 contains 함수를 사용할 수 있습니다. 다음 표현식은 <example> 요소를 반환합니다. 
//example[contains(text(), 'Hello')]
  여러 어린이 / 텍스트 노드에 걸쳐있는 텍스트를 찾으려면 다음을 사용할 수 있습니다 . text() 대신에. . 요소의 전체 텍스트 내용과 그것의 자식을 참조합니다. 
//example[. = 'Hello,  I am an example .']
 여러 텍스트 노드를 보려면 다음을 사용할 수 있습니다.
//example//text()
 그러면 다음과 같이 반환됩니다.
- "여보세요, "
 - "나는 본보기 다."
 - "."
 
 그리고 요소의 전체 텍스트 내용을 더 명확하게 보려면 string 함수를 사용할 수 있습니다. 
string(//example[1])
 또는 단지
string(//example)
 안녕하세요, 저는 예입니다.
 후자는 노드 집합이 string 과 같은 함수에 전달되면 XPath 1.0이 해당 노드 집합의 첫 번째 노드 (문서 순서대로)를보고 나머지는 무시하기 때문에 작동합니다. 
그래서:
string(/root/*)
 반환 할 것이다 :
여보세요
Modified text is an extract of the original Stack Overflow Documentation
        아래 라이선스 CC BY-SA 3.0
        와 제휴하지 않음 Stack Overflow