8

次のような条件付きXpathを持つxmlノードを選択したい-

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

私の懸念は-

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

親ノードの@codeがUNKの場合、それだけが子ノードの@code値を取得する必要があります。それ以外の場合は、親の@code値を取得します。

4

2 に答える 2

9

これでうまくいくはずです:

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

Xpath擬似コードです。ライブラリ言語に変更してください

于 2011-10-11T11:35:27.583 に答える
5

使用

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

これは「省略形」である可能性があります。

(drugId[@code = 'UNK']/sub | drugId[not(@code = 'UNK')])/@code
于 2011-10-11T14:37:27.943 に答える