首页 文章

OSB:Xquery比较间歇性失败

提问于
浏览
1

我的OSB代理中有以下条件 .

$body/*[1]/xyzflag eq 'true' and (:some other true conditions:)

节点 xyzflag 甚至不存在于变量$ body指向的节点下 .

条件在大多数情况下按预期工作(给出错误) . 但有时它给出了真实 .

有人遇到过这种情况吗?对我来说似乎是个错误 . 有人可以帮忙吗?

3 回答

  • -1

    试着这样做:

    fn:data($body/[1]/xyzflag)

  • -1

    你正在尝试的XQuery表达式是错误的 .

    例如如果您的XML如下所示:

    <school>
    <teacher>
       <isClassteacher>Y</isClassteacher>
    </teacher>  
    
    <teacher>
      <isClassteacher>N</isClassteacher>
    </teacher>
    </school>
    

    然后你的表达式如下:data($ body / teacher [1] / isClassteacher)='Y'

    注意:请根据您的要求进行更改 .

    希望这会有所帮助 .

    问候

    Asutosh

  • -1

    如果您正在检查该节点是否存在 <xyzflag> ,我建议您使用 fn:exists 函数 .

    这个表达

    $body/*[1]/xyzflag = 'true'
    

    如果节点 <xyzflag> 存在,则返回true . 它不会打扰节点的内容是否存在

相关问题