나는 이것을 설명하는 방법이 확실하지 않으므로 더 나은 방법이 있다면 알려 주시기 바랍니다.Xpath - 이것이 가능합니까? 값과 일치하는 다른 노드의 값을 가진 노드를 찾으십니까?
XML For를 검색해야하는 값이 있지만 내 결과 집합을 얻기 전에 다른 값을 검색하려고합니다.
내가 당신을 보여 드리죠 : 나는 1262753194.의 memidnum이
<n:TaskGetResponse>
<MemHead>
<memidnum>1262753194</memidnum>
<memrecno>22672100</memrecno>
</MemHead>
<MemHead>
<memidnum>1262753194</memidnum>
<memrecno>22672104</memrecno>
</MemHead>
<EntXtsk>
<caudrecno>6348855</caudrecno>
<memrecno>22672100</memrecno>
</EntXtsk>
<EntXtsk>
<caudrecno>6348855</caudrecno>
<memrecno>22672101</memrecno>
</EntXtsk>
<EntXtsk>
<caudrecno>6348878</caudrecno>
<memrecno>22672102</memrecno>
</EntXtsk>
<MemXtsk>
<caudrecno>6348878</caudrecno>
<memrecno>22672103</memrecno>
</MemXtsk>
</n:TaskGetResponse>
를 내가 찾으려 1262753194.
의 memidnum있는 모든 MemHead의의와 일치하는 memrecno이있는 모든 EntXtsk 및 MemXtsk 이 예제에서는 동일한 memidnum을 가진 MemHead가 2 개 있지만 다른 memrecno는 두 개의 memrecno가 있습니다. 2와 일치하는 memrecno가있는 모든 * Xtsk를 찾고 싶습니다.
XPath에서 가능합니까?
TaskGetResponse/*[name(.) = 'MemXtsk' or name(.) = 'EntXtsk']
내가 모든 * Xtsk 노드를 얻을 수 있습니다 사용
.
하지만 필요한 memidnum-> memrecno와 관련된 것만 얻는 방법을 모르겠습니다.
도움이 필요합니다.
업데이트 : 나는
TaskGetResponse/*[memrecno= //TaskGetResponse/*[memidnum="1262753194"]/memrecno]
를 실행할 수 있습니다 그리고 그것은 나에게 그 memrecno 조합으로 모든 것을 가져옵니다. 하지만 나는 단지 EntXtsk와 MemXtsk를 얻는 방법을 모르겠습니다.
굉장 - 고마워! –
@RyanTernier : 안녕하세요. 임의의 XPath 탐색을 위해 XPath 비주얼 라이저 (http://www.huttar.net/dimitre/XPV/TopXML-XPV.html)를 사용할 수도 있습니다. 수천 년 동안 수천 명이 XPath를 사용하여 XPath를 재미있는 방식으로 배웠습니다. –