OSB 组件-assign

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

 
  java编程思想  
   
    jianfeng  
    [email protected] 
   

现需获取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进行测试

OSB 组件-assign_第1张图片

OSB 组件-assign_第2张图片

点击Execute查看执行结果

OSB 组件-assign_第3张图片

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

OSB 组件-assign_第4张图片

是一段xml片段

  • 给上面xml片段加上命名空间,加上命名空间后xml代码如下
 
  java编程思想  
   
    jianfeng  
    [email protected] 
   

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

OSB 组件-assign_第5张图片


因为缺少命名空间,需要在Expression界面增加命名空间
OSB 组件-assign_第6张图片

Prefix:命名空间前缀可以自定义
URI:命名空间路径,即上面xmlns内容
将表达式修改为

$P_XML/df:name/text()
OSB 组件-assign_第7张图片

OSB 组件-assign_第8张图片

获取email表达式变更为

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

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

你可能感兴趣的:(OSB 组件-assign)