Karate 验证xpath位置中包含多个数据的数据

Karate 验证xpath位置中包含多个数据的数据,karate,Karate,我有下面这样的XML,我需要用大量同名数据验证XML(附加索引) 如下图所示 我不想给每个名字,手机等单独列,所以在示例中我传递sum,men,121212682312;suj,men,221212682312****suu,men,321212682312或者我可以用JSON格式传递 1. What is the best way to do this without using Java Code. 2. *def strVals=get response/Response/transac

我有下面这样的XML,我需要用大量同名数据验证XML(附加索引) 如下图所示

我不想给每个名字,手机等单独列,所以在示例中我传递sum,men,121212682312;suj,men,221212682312****suu,men,321212682312或者我可以用JSON格式传递

1. What is the best way to do this without using Java Code. 
2. *def strVals=get response/Response/transaction/values 
    And print strVals 
 - Not printing any value 

 <Response>
       <RequestID>1</RequestID>
       <transaction>
          <values>
             <data name="firstName0">sum</data>
             <data name="lastName0">men</data>
             <data name="mobile0">1212121212</data>
             <data name="zip0">682312</data>
             <data name="firstName1">suj</data>
             <data name="lastName1">men</data>
             <data name="mobile1">2212121212</data>
             <data name="zip1">682312</data>
             <data name="firstName2">suu</data>
             <data name="lastName2">men</data>
             <data name="mobile2">3212121212</data>
             <data name="zip2">682312</data>
             <data name="firstName3">ssss</data>
             <data name="lastName3">mmmmmmm</data>
             <data name="mobile3">4212121212</data>
             <data name="zip3">682312</data>
          </values>
       </transaction>
    </Response>
1。不使用Java代码的最佳方法是什么。
2. *def strVals=获取响应/响应/事务/值
和打印字符串
-不打印任何值
1.
总和
男人
1212121212
682312
萨图马雷
男人
2212121212
682312
苏
男人
3212121212
682312
ssss
嗯
4212121212
682312

我将提供一个关于如何动态构建此XML的提示,其余内容由您决定:

* def temp = <values></values>
* def data = [{first: 'John', value: 'foo'}, {first: 'Smith', value: 'bar'}]
* def fun = 
"""
function(x, i){ 
  var path = '/values/data[' + (i + 1) + ']';
  karate.set('temp', path + '/@name', 'firstName' + i);
  karate.set('temp', path, x.value);
}
"""
* karate.forEach(data, fun)
* print temp   
*def temp=
*def data=[{first:'John',value:'foo'},{first:'Smith',value:'bar'}]
*def fun=
"""
函数(x,i){
变量路径='/values/data['+(i+1)+'];
空手道.set('temp',path+'/@name','firstName'+i);
空手道设置('temp',path,x.value);
}
"""
*空手道。forEach(数据,乐趣)
*打印温度
这将导致:

<values>
  <data name="firstName0">foo</data>
  <data name="firstName1">bar</data>
</values>

福
酒吧