How to create Conditional Xpath statement?
-
08-02-2021 - |
문제
I want to select xml node with conditional Xpath like-
xmlnode.SelectSingleNode("if (ns:substanceAdministration/ns:consumable/@typeCode == UNK) then evaluateThisXpath else evaluateOtherXpath")
my concern is-
<drugID code="UNK">
<sub code="2232" />
</drugID>
If @code of parent node is UNK then only it should take @code value of child node otherwise take parent @code value.
해결책
This should do the trick:
(drugID[@code='UNK']/sub)|(drugID[@code<>'UNK')
It is Xpath pseudocode, change it to your library language
다른 팁
Use:
drugId[@code = 'UNK']/sub/@code | drugId/@code[not(. = 'UNK')]
which could be "abbreviated":
(drugId[@code = 'UNK']/sub | drugId[not(@code = 'UNK')])/@code
제휴하지 않습니다 StackOverflow