2011-10-11 43 views
8

Ben ebeveyn düğümün @code UNK ise, sadece çocuğun @code değerini almalıKoşullu Xpath ifadesi nasıl oluşturulur?

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

benim endişe

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

IS- gibi- koşullu XPath ile xml düğümü seçmek istediğiniz Düğüm, aksi takdirde parent @code değerini alır.

cevap

7

Bu hile yapmak gerekir:

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

Öyle XPath yalancı kod sizin kütüphane diline değiştirdiğinizde

5

Kullanım:

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

"kısaltılmış" edilebileceği :

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