我有一个具有以下结构的xml文件:
<subscriberDetailsItem>
<externalSubId>911</externalSubId>
<paymentIndicator>2</paymentIndicator>
<IMSI>302</IMSI>
<MSISDN>416</MSISDN>
<status>A</status>
<outSubscriptionDetails>
<subscriptionDetailsItem>
<socId>ABCDEF</socId>
<featureCode>GHIJKL</featureCode>
<startDate>20180720000000</startDate>
<featureSeq>47452111</featureSeq>
<subscriptionType>DATA</subscriptionType>
<shareGroupCd>SHARE</shareGroupCd>
<initialValueBytes>1073741824</initialValueBytes>
<priority>3000</priority>
<balanceType>BAL</balanceType>
</subscriptionDetailsItem>
</outSubscriptionDetails>
</subscriberDetailsItem>
我希望能够基于socID
字段提取externalSubId
字段。本质上,我希望能够做到这一点:
如果externalSubId=911
,则提取SOCID
。有人提示吗?
答案 0 :(得分:0)
您未指定要在何处提取 ,因此我假设您可以将 XPath Extractor 用作读取该文件的某些采样器的后处理器
您可以这样配置后处理器:
XPath查询可以这样构建:
选择具有subscriberDetailsItem
和您想要的值的externalSubId
:
//subscriberDetailsItem[externalSubId=911]
使用绝对路径选择socId
:
//subscriberDetailsItem[externalSubId=911]/outSubscriptionDetails/subscriptionDetailsItem/socId
或者如果在项目的其他位置找不到socId
,则可以在中间省略实体:
//subscriberDetailsItem[externalSubId=911]//socId