xpath
특정 속성을 가진 노드 찾기
수색…
통사론
- 특정 노드 내부
- / path to / element [@attribute_name]
- 문서의 어느 곳에서나
- // * [@ attribute_name]
- 특정 값을 가진 특정 노드 내부
- / path to / element [@ attribute_name = '검색 값']
- / path to / element [@ attribute_name = "검색 값"]
- 어떤 값을 가진 문서의 어느 곳에서나
- // * [@ attribute_name = '검색 문자열']
- // * [@ attribute_name = "검색 문자열"]
매개 변수
선택자 | 기능 |
---|---|
@attribute_name | 노드의 속성 값을 선택합니다 (있는 경우). |
비고
[@attribute_name]을 사용하여 값과 관계없이 속성을 갖는 노드를 선택할 수 있습니다.
시작 자와 소문자와 같은 함수 또는 함수의 조합을 사용할 수 있습니다. 예를 들어이 선택기를 사용하여 우리의 필요에 맞출 수 있습니다.
특정 속성을 가진 노드 찾기
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[@name]
또는
//*[@name]
산출
<CelestialObject name="Earth" type="planet" />
<CelestialObject name="Sun" type="star" />
특정 속성 값을 가진 노드 찾기
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[@name='Sun']
또는
//*[@name='Sun']
산출
<CelestialObject name="Sun" type="star" />
속성 값의 부분 문자열 매칭을 통해 노드 찾기
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[contains(@name,'Ear')]
또는
//*[contains(@name,'Ear')]
작은 따옴표 대신 큰 따옴표를 사용할 수도 있습니다.
/Galaxy/*[contains(@name, "Ear")]
산출
<CelestialObject name="Earth" type="planet" />
속성 값의 부분 문자열 매칭을 통해 노드 찾기 (대소 문자 구별 없음)
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[contains(lower-case(@name),'ear')]
또는
//*[contains(lower-case(@name),'ear')]
또는 문자열을 큰 따옴표로 묶어서 :
//*[contains(lower-case(@name), "ear")]
산출
<CelestialObject name="Earth" type="planet" />
속성 값의 시작과 일치하는 부분 문자열로 노드 찾기
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[starts-with(lower-case(@name),'ear')]
또는
//*[starts-with(lower-case(@name),'ear')]
산출
<CelestialObject name="Earth" type="planet" />
속성 값의 끝과 일치하는 부분 문자열로 노드 찾기
XML
<Galaxy>
<name>Milky Way</name>
<CelestialObject name="Earth" type="planet"/>
<CelestialObject name="Sun" type="star"/>
</Galaxy>
XPATH
/Galaxy/*[ends-with(lower-case(@type),'tar')]
또는
//*[ends-with(lower-case(@type),'tar')]
산출
<CelestialObject name="Sun" type="star" />
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow