美文网首页
OSB 组件-assign

OSB 组件-assign

作者: 阿三君 | 来源:发表于2017-11-24 20:44 被阅读0次

    assign是osb里最常用的组件,用来对变量进行赋值。假设有以下一段xml

    <book> 
      <name>java编程思想</name>  
      <author> 
        <username>jianfeng</username>  
        <email>jianfeng.zheng@definesys.com</email> 
      </author> 
    </book>
    

    现需获取name和author标签中对email字段

    assign 需要提供两个参数,如图


    Expression:xml片段或者xpath表达式
    variable:变量名称(不带$符号)

    获取 name:
    Expression:$P_XML/name/text()
    获取email:
    Expression:$P_XML/author/email/text()
    text()表示获取文本类型数据
    $P_XML表达存储xml片段变量
    新建一个assign组件,写好xpath表达式,可以点击Test进行测试


    点击Execute查看执行结果

    如果把text()去掉是什么结果?


    是一段xml片段
    • 给上面xml片段加上命名空间,加上命名空间后xml代码如下
    <book xmlns="http://definesys.com"> 
      <name>java编程思想</name>  
      <author> 
        <username>jianfeng</username>  
        <email>jianfeng.zheng@definesys.com</email> 
      </author> 
    </book>
    

    这时候如果还是使用$P_XML/name/text()是无法获取数据的



    因为缺少命名空间,需要在Expression界面增加命名空间

    Prefix:命名空间前缀可以自定义
    URI:命名空间路径,即上面xmlns内容
    将表达式修改为
    $P_XML/df:name/text()
    

    获取email表达式变更为

    $P_XML/df:author/df:email/text()
    

    author和email都要加上命名空间前缀,不然还是无法获取数据。

    相关文章

      网友评论

          本文标题:OSB 组件-assign

          本文链接:https://www.haomeiwen.com/subject/vinfbxtx.html