问题陈述:在我的API响应中,我得到了相同的xml标记集重复多次,但是具有不同的基础标记值,这些标记也在xml响应中重复。这两个基础值也相互映射。我需要从响应中提取所有映射并将它们写入SQL。我在从API响应中提取映射值时遇到麻烦。
我正在尝试使用正则表达式提取器来获取包含这两个值的重复主标签。然后,我尝试将每个循环用于正则表达式提取器的输出变量。然后将每次迭代的相应值写入目标表。
以下标记在每个循环中重复多次。我需要为每个<Value>
标签获取<Object>
标签下存在的两个值。例如,在这种情况下,对于此特定实例,例如“ {abc-def}”和“ D12345”。
<Object classId="QueryResultRow"><Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D12345</Value></Property></Object>
在保留映射的同时,我无法从每个标签中获取所需的两个值。另外,我不确定如何仅使用正则表达式输出中的一个生成变量,因为它正在为每个目标xml标记创建4种类型的变量。
objVal=<Object classId="QueryResultRow"><Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D112345</Value></Property></Object>
objVal_g=1
objVal_g0=<Object classId="QueryResultRow"><Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D12345</Value></Property></Object>
objVal_g1=<Property i:type="fn40:SingletonId" propertyId="Id"><Value>{abc-def}</Value></Property><Property i:type="fn40:SingletonString" propertyId="DCN"><Value>D12345</Value></Property>
我从这里只需要使用objVal,而我正在尝试使用
答案 0 :(得分:0)
在objVal
变量中包含xml之后,
使用JMeter variable Name to use
变量objVal
使用XPath Extractor
将XPath query
用作/Object/Property/Value
如果匹配号为-1
,您将获得所有值
objVal_value={abc-def}
aa_value_1={abc-def}
aa_value_2=D112345
允许用户使用XPath查询语言从结构化响应-XML或(X)HTML中提取值
答案 1 :(得分:0)