私は、次のパスを持っている:Coalesce演算子のXPathに相当するものは何ですか?
- /私:会社/ NS1:監査/ NS1:訪問/ NS1:customField10
- /私:会社/ NS1:監査/ NS1:訪問/ NS1:ACCOUNTNUMBER を
空でない場合はns1:customField10を選択します。それ以外の場合はns1:accountNumberを返します。
私は次のことを試してみました:
xml.SelectSingleNode(
"(/my:cobius/ns1:Audit/ns1:Visit/ns1:customField10 |
/my:cobius/ns1:Audit/ns1:Visit/ns1:accountNumber)", ns)
しかし、それは常にACCOUNTNUMBERを返しています。私はcustomField10とaccountNumberの順番を変えようとしましたが、喜びはありませんでした。それでもaccountNumberを返します。
どのように私は、XPathで合体演算子と同等のものを行うことができますか?
更新:
xml.SelectSingleNode(
"(/my:company/ns1:Audit/ns1:Visit/ns1:customField10[normalize-space()] |
/my:company/ns1:Audit/ns1:Visit/ns1:accountNumber[not(normalize-space(../ns1:customField10))])", ns)
がなぜない 'xml.SelectSingleNode()'その後、両方のノードと、通常の ''場合は...のために:
あなたはもちろん、述語を追加することができますか? – Tomalak
あなたが合体オペレータが何であるか、あるいはどんな速度で、そのようなオペレータを持っていると考えているのかを教えてくれれば、あなたの質問に答える方が簡単かもしれません。 –
@Tomalak同じ理由で、私はSQLまたはC#で合体演算子を使用します。 2つの変数を割り当ててチェックするのではなく、インラインで行うのはなぜですか? –