我想在变量中提取SFDCProductList的内容,这是一个数组。这该怎么做?
我有以下xml :. 。 。 10000
谢谢!您的请求已成功执行。代码PIM 10000 sgfsuifg sjkfbksgfsudf
</SFDCProduct>
</SFDCProductList>
<SFDCProductList>
.
.
.
</SFDCProductList>
<SFDCProductList>
.
.
.
</SFDCProductList>
<TransportInformation>
.
.
.
</TransportInformation>
</EnhancedServicePrequalResponse>
<EnhancedServicePrequalResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Code>10000</Code>
<Message>Thank You!</Message>
<SFDCProductList>
<SFDCProduct>
<OfferName>XYZ</OfferName>
<OfferDisplayName>New Offer</OfferDisplayName>
<OfferType>New</OfferType>
<EndDate>2021-02-16</EndDate>
<OfferLineItemList>
<OfferLineItem>
<OfferLineItemCategory>Transport Service</OfferLineItemCategory>
<OfferLineItemName>transport</OfferLineItemName>
</OfferLineItem>
<OfferLineItem>
<OfferLineItemCategory>Device</OfferLineItemCategory>
<OfferLineItemName>Billing</OfferLineItemName>
</OfferLineItem>
</OfferLineItemList>
<TransportName>BR</TransportName>
</SFDCProduct>
</SFDCProductList>
<SFDCProductList>
<SFDCProduct>
<OfferName>Upgrade</OfferName>
<OfferDisplayName>Upgrade</OfferDisplayName>
<OfferType>Upgrade</OfferType>
<EndDate>2021-02-16</EndDate>
<OfferLineItemList>
<OfferLineItem>
<OfferLineItemCategory>Transport</OfferLineItemCategory>
<OfferLineItemName>Billing</OfferLineItemName>
</OfferLineItem>
<OfferLineItem>
<OfferLineItemCategory>Device</OfferLineItemCategory>
<OfferLineItemName>Billing</OfferLineItemName>
</OfferLineItem>
</OfferLineItemList>
<TransportName>JR</TransportName>
</SFDCProduct>
</SFDCProductList>
<TransportInformation>
<TransportFeasibilityParameter>
<AvailabilityFlag>true</AvailabilityFlag>
<BusinessAvailabilityFlag>true</BusinessAvailabilityFlag>
<TransportName>BR</TransportName>
</TransportFeasibilityParameter>
<TransportFeasibilityParameter>
<AvailabilityFlag>true</AvailabilityFlag>
<BusinessAvailabilityFlag>true</BusinessAvailabilityFlag>
<TransportName>JR/TransportName>
</TransportFeasibilityParameter>
</TransportInformation>
</EnhancedServicePrequalResponse>
我尝试使用xpath提取器,但它没有将它存储在变量中。
我已经成功地使用Boundary提取器提取了SFDCProductlist但是作为一个数组我只想要在元素中有“New”关键字的SFDCProductlist。
The beanshell Script:
int SFDCProduct_matchNr =vars.get("SFDCProduct_matchNr");
String list="SFDCProduct"+"_"+"SFDCProduct_matchNr";
int SFDCProduct_matchNrvalue=SFDCProduct_matchNr-1;
vars.put("SFDCProduct_matchNr", "SFDCProduct_matchNrvalue");
vars.put("sfdc", "list");enter code here
But still its not assigning the sfdc with SFDCProduct_1 value??
要提取特定边界内的内容,您可以使用Boundary Extractor:
选择左边界和</SFDCProductList>
作为右边界。
将新的变量名称放在Name of created variable
中作为productList,稍后在JSR223脚本中将其用作${productList}
或vars.get("productList")
。
允许用户使用左右边界从服务器响应中提取值。作为后处理器,此元素将在其范围内的每个Sample请求之后执行,测试边界,提取请求的值,生成模板字符串,并将结果存储到给定的变量名称中。
没有看到完整的XML响应,我们无法提出精确的解决方案,但是对于XML响应类型,坚持使用XPath Extractor是有意义的
相关的XPath查询应该是这样的://SFDCProductList
- 它基本上会返回<SFDCProductList>
标记下的所有内容:
如果没有 - 使用View Results Tree监听器的“XPath Tester”模式仔细检查XPath表达式,在某些情况下,您可能需要:
Use Tidy
框参考文献: