2011-10-11 72 views
8

我要選擇XML節點具有條件的XPath喜歡 -如何創建條件Xpath語句?

xmlnode.SelectSingleNode("if (ns:substanceAdministration/ns:consumable/@typeCode == UNK) then evaluateThisXpath else evaluateOtherXpath") 

我關心的是 -

<drugID code="UNK"> 
    <sub code="2232" /> 
</drugID> 

如果父節點的@code是UNK則只應採取的孩子@code值否則取其父代碼值。

回答

7

這應該做的伎倆:

(drugID[@code='UNK']/sub)|(drugID[@code<>'UNK') 

這是Xpath的僞代碼,將其更改爲你的庫語言

5

使用

drugId[@code = 'UNK']/sub/@code | drugId/@code[not(. = 'UNK')] 

這可能是 「縮寫」 :

(drugId[@code = 'UNK']/sub | drugId[not(@code = 'UNK')])/@code