石鹸エンベロープ本体に特定のノードが含まれているかどうかを判断しようとしています。
私が扱っている封筒の例:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<Response>
<Result>Failure</Result>
<Error id="40020" value="">An Unkown Error Occured</Error>
<Response>
</soapenv:Body>
</soapenv:Envelope>
ノード「Response」が含まれているかどうかを確認したいので、結果として条件付き操作を実行できます。私は XPath に比較的慣れていないので、完全な式がどうあるべきかわかりません。
私が現在持っているXPath式は
[name(//soapenv:Body/*[1]) = 'Response']
name(//soapenv:Body/*[1]) が "Response" の値を返すことはわかっていますが、その結果を別の値と比較して true/false を返す方法がわかりません。
代替表現としては、このようなものでしょうか?
//soapenv:Body/*[contains(Name, "Response")]