2011-10-11 43 views
8

Tôi muốn chọn nút xml với điều kiện XPath như-Làm thế nào để tạo câu lệnh Xpath có điều kiện?

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

mối quan tâm của tôi là-

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

Nếu @code của nút cha là UNK sau đó chỉ cần lấy giá trị @code của con nút khác có giá trị @code mẹ.

Trả lời

7

này nên làm như lừa:

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

Đó là XPath giả, thay đổi nó sang ngôn ngữ thư viện của bạn

5

Sử dụng:

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

có thể được "viết tắt là" :

(drugId[@code = 'UNK']/sub | drugId[not(@code = 'UNK')])/@code 
Các vấn đề liên quan