我的OSB代理中有以下条件 .
$body/*[1]/xyzflag eq 'true' and (:some other true conditions:)
节点 xyzflag 甚至不存在于变量$ body指向的节点下 .
xyzflag
条件在大多数情况下按预期工作(给出错误) . 但有时它给出了真实 .
有人遇到过这种情况吗?对我来说似乎是个错误 . 有人可以帮忙吗?
试着这样做:
fn:data($body/[1]/xyzflag)
你正在尝试的XQuery表达式是错误的 .
例如如果您的XML如下所示:
<school> <teacher> <isClassteacher>Y</isClassteacher> </teacher> <teacher> <isClassteacher>N</isClassteacher> </teacher> </school>
然后你的表达式如下:data($ body / teacher [1] / isClassteacher)='Y'
注意:请根据您的要求进行更改 .
希望这会有所帮助 .
问候
Asutosh
如果您正在检查该节点是否存在 <xyzflag> ,我建议您使用 fn:exists 函数 .
<xyzflag>
fn:exists
这个表达
$body/*[1]/xyzflag = 'true'
如果节点 <xyzflag> 存在,则返回true . 它不会打扰节点的内容是否存在
3 回答
试着这样做:
fn:data($body/[1]/xyzflag)
你正在尝试的XQuery表达式是错误的 .
例如如果您的XML如下所示:
然后你的表达式如下:data($ body / teacher [1] / isClassteacher)='Y'
注意:请根据您的要求进行更改 .
希望这会有所帮助 .
问候
Asutosh
如果您正在检查该节点是否存在
<xyzflag>
,我建议您使用fn:exists
函数 .这个表达
如果节点
<xyzflag>
存在,则返回true . 它不会打扰节点的内容是否存在