본문 바로가기
TechNical/ETC.

XPath 경로 지정시 다중 조건 써 먹기

by 강멍멍이 2009. 4. 2.
반응형

XPath 경로 지정시 다중 조건 써 먹기

노드셋같은거 지정할 때 xpath에서는 서술부를 이용해서 경로를 지정해 줄 수 있다.
이번에 하고자 하는 것은 필터링 한다고 생각하면 되겠다.

기본적으로 간다하게 요런 것들이 있다.

/aaaa/bbb[1]

/aaaa/bbb[ccc='dddd']

/aaaa/bbb[ccc > 10]

뭐 그렇다고 치고. 난 하나가 아니라 하나 이상을 필터링 하고 싶었을 뿐이다.


음.. 예를 들어 이런 인스턴스가 있다고 치자.

<menu>
    <aaa>A</aaa>
    <bbb>1</bbb>
    <cccc>문어바</ccc>
</menu>
<menu>
    <aaa>A</aaa>
    <bbb>2</bbb>
    <cccc>오징어바</ccc>
</menu>
<menu>
    <aaa>B</aaa>
    <bbb>1</bbb>
    <cccc>고래바</ccc>
</menu>

이럴때.. xpath를 지정해 주면서 조건을 주기로 하자.

aaa 가 A 인건의 cccc 값을 가져 오려면 요렇게 하면 된다.

/menu[aaa='A']/cccc

근데 여기서... aaa 가 A 이고 bbb 가 1 인 건을 가져 오고자 한다면??
예상되는 오퍼레이션은 | 가 되겠지만.. 그냥 and를 써 버린다. 그러니까 이렇게 말이지

/menu[aaa='A' and bbb='1']/cccc

뭐.. 이렇게도 쓸 수 있다는 얘기임..
핵심은 and .. 한줄로 끝나도 될 포스팅을 40배로 튀기는 센스.

반응형

댓글