使用正则表达式关联到一批值,如何获取关联到的最后一个值
第一种方法通过拼接最后一个值的名称,进而获取最后一个值的具体值
添加beanshell sampler,通过代码获取关联(pid2)最后一个值,代码如下:
String b=null;
String c=null;
b="${pid2_matchNr}";
c=vars.get("pid2_"+b);
vars.put("abc",c);
后续通过${abc}获取pid2的最后一个值
第二种方法采用一一对应的方法,比如返回报文是一系列类似的值,<id></id>......<version></version>,比如获取version为4的对应的id 值,使用正则表达式获取的所有id值为p_3_id,所有version值为p_3_version,使用如下代码获取ersion为4的对应的id 值
int str_len=${p_3_id_matchNr};
String p_v="";
String p_id="";
String str="";
String str2="";
if(${p_3_id_matchNr}==${p_3_version_matchNr}){
for(int i=1;i<=str_len;i++)
{
p_v="p_3_version_"+i;
p_id="p_3_id_"+i;
str=vars.get(p_v);
if(str.equals("4")){
str2=vars.get(p_id);
vars.put("abc",str2);
break;
}
}
return "ok";
}