我需要正则表达式从 JMeter 的响应中提取legcount详细信息

问题描述 投票:0回答:1

我需要分别从 1 2 标签获取出境和入境航班详细信息的值。响应中有多个标签。

我正在使用下面的正则表达式,但它不起作用。它仅选择第一个值,而不是 1 值。

出境:

<a:FlightSegment>[.\s\S]+?<a:LFID>(.+?)<.a:LFID>[.\s\S]+?<a:DepartureDate>(.+?)T(.+?)<.a:DepartureDate>[.\s\S]+?<a:LegCount>1<.a:LegCount>[.\s\S]+?<a:FCCode>(.+?)<.a:FCCode>[.\s\S]+?<a:FBCode>(.+?)<.a:FBCode>[.\s\S]+?<a:SegmentDetail>[.\s\S]+?<a:Origin>(.+?)</a:Origin>[.\s\S]+?<a:Destination>(.+?)</a:Destination>

入境:

<a:FlightSegment>[.\s\S]+?<a:LFID>(.+?)<.a:LFID>[.\s\S]+?<a:DepartureDate>(.+?)T(.+?)<.a:DepartureDate>[.\s\S]+?<a:LegCount>2<.a:LegCount>[.\s\S]+?<a:FCCode>(.+?)<.a:FCCode>[.\s\S]+?<a:FBCode>(.+?)<.a:FBCode>[.\s\S]+?<a:SegmentDetail>[.\s\S]+?<a:Origin>(.+?)</a:Origin>[.\s\S]+?<a:Destination>(.+?)</a:Destination>

回应:

<a:FlightSegment>
                        <a:LFID>132861</a:LFID>
                        <a:DepartureDate>2024-05-20T23:04:00</a:DepartureDate>
                        <a:ArrivalDate>2024-05-21T02:19:00</a:ArrivalDate>
                        <a:LegCount>2</a:LegCount>
                        <a:International>true</a:International>
                        <a:FareTypes>
                            <a:FareType>
                                <a:FareTypeID>1</a:FareTypeID>
                                <a:FareTypeName>ECONOMY</a:FareTypeName>
                                <a:FilterRemove>false</a:FilterRemove>
                                <a:FareInfos>
                                    <a:FareInfo>
                                        <a:FareID>38</a:FareID>
                                        <a:FCCode>T</a:FCCode>
                                        <a:FBCode>TPROI2P5</a:FBCode>
                                        <a:BaseFareAmtNoTaxes>9</a:BaseFareAmtNoTaxes>
                                        <a:BaseFareAmt>9</a:BaseFareAmt>
                                        <a:FareAmtNoTaxes>9</a:FareAmtNoTaxes>
                                        <a:FareAmt>9</a:FareAmt>
                                        <a:BaseFareAmtInclTax>72.62</a:BaseFareAmtInclTax>
                                        <a:FareAmtInclTax>72.62</a:FareAmtInclTax>
                                        <a:PvtFare>false</a:PvtFare>
                                        <a:PTCID>1</a:PTCID>
                                        <a:Cabin>ECONOMY</a:Cabin>
                                        <a:SeatsAvailable>13</a:SeatsAvailable>
                                        <a:InfantSeatsAvailable>0</a:InfantSeatsAvailable>
                                        <a:FareScheduleID>24973</a:FareScheduleID>
                                        <a:PromotionID>0</a:PromotionID>
                                        <a:RoundTrip>1</a:RoundTrip>
                                        <a:DisplayFareAmt>9</a:DisplayFareAmt>
                                        <a:DisplayTaxSum>63.62</a:DisplayTaxSum>
                                        <a:SpecialMarketed>false</a:SpecialMarketed>
                                        <a:WaitList>false</a:WaitList>
                                        <a:SpaceAvailable>false</a:SpaceAvailable>
                                        <a:PositiveSpace>false</a:PositiveSpace>
                                        <a:PromotionCatID>0</a:PromotionCatID>
                                        <a:CommissionAmount>0</a:CommissionAmount>
                                        <a:PromotionAmount>0</a:PromotionAmount>
                                        <a:ApplicableTaxDetails>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>548</a:TaxID>
                                                <a:Amt>47</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>1244</a:TaxID>
                                                <a:Amt>1.62</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>1245</a:TaxID>
                                                <a:Amt>15</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                        </a:ApplicableTaxDetails>
                                        <a:BundleCode/>
                                        <a:OriginalCurrency>USD</a:OriginalCurrency>
                                        <a:ExchangeRate>1</a:ExchangeRate>
                                        <a:ExchangeDate>2024-04-30T00:00:00+00:00</a:ExchangeDate>
                                        <a:CombinableTrips i:nil="true"/>
                                        <a:ReturnFlightSegmentDetails/>
                                    </a:FareInfo>
                                </a:FareInfos>
                            </a:FareType>
                        </a:FareTypes>
                        <a:FlightLegDetails>
                            <a:FlightLegDetail>
                                <a:PFID>132052</a:PFID>
                                <a:DepartureDate>2024-05-20T23:04:00</a:DepartureDate>
                            </a:FlightLegDetail>
                        </a:FlightLegDetails>
                    </a:FlightSegment>
                    <a:FlightSegment>
                        <a:LFID>131923</a:LFID>
                        <a:DepartureDate>2024-05-02T03:09:00</a:DepartureDate>
                        <a:ArrivalDate>2024-05-02T06:31:00</a:ArrivalDate>
                        <a:LegCount>1</a:LegCount>
                        <a:International>true</a:International>
                        <a:FareTypes>
                            <a:FareType>
                                <a:FareTypeID>1</a:FareTypeID>
                                <a:FareTypeName>ECONOMY</a:FareTypeName>
                                <a:FilterRemove>false</a:FilterRemove>
                                <a:FareInfos>
                                    <a:FareInfo>
                                        <a:FareID>113</a:FareID>
                                        <a:FCCode>T</a:FCCode>
                                        <a:FBCode>TPROI2P5</a:FBCode>
                                        <a:BaseFareAmtNoTaxes>9</a:BaseFareAmtNoTaxes>
                                        <a:BaseFareAmt>9</a:BaseFareAmt>
                                        <a:FareAmtNoTaxes>9</a:FareAmtNoTaxes>
                                        <a:FareAmt>9</a:FareAmt>
                                        <a:BaseFareAmtInclTax>57.21</a:BaseFareAmtInclTax>
                                        <a:FareAmtInclTax>57.21</a:FareAmtInclTax>
                                        <a:PvtFare>false</a:PvtFare>
                                        <a:PTCID>1</a:PTCID>
                                        <a:Cabin>ECONOMY</a:Cabin>
                                        <a:SeatsAvailable>20</a:SeatsAvailable>
                                        <a:InfantSeatsAvailable>0</a:InfantSeatsAvailable>
                                        <a:FareScheduleID>25013</a:FareScheduleID>
                                        <a:PromotionID>0</a:PromotionID>
                                        <a:RoundTrip>1</a:RoundTrip>
                                        <a:DisplayFareAmt>9</a:DisplayFareAmt>
                                        <a:DisplayTaxSum>48.21</a:DisplayTaxSum>
                                        <a:SpecialMarketed>false</a:SpecialMarketed>
                                        <a:WaitList>false</a:WaitList>
                                        <a:SpaceAvailable>false</a:SpaceAvailable>
                                        <a:PositiveSpace>false</a:PositiveSpace>
                                        <a:PromotionCatID>0</a:PromotionCatID>
                                        <a:CommissionAmount>0</a:CommissionAmount>
                                        <a:PromotionAmount>0</a:PromotionAmount>
                                        <a:ApplicableTaxDetails>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>589</a:TaxID>
                                                <a:Amt>15</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>1244</a:TaxID>
                                                <a:Amt>1.62</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                            <a:ApplicableTaxDetail>
                                                <a:TaxID>1246</a:TaxID>
                                                <a:Amt>31.59</a:Amt>
                                                <a:InitiatingTaxID>-1</a:InitiatingTaxID>
                                                <a:CommissionAmount>0</a:CommissionAmount>
                                            </a:ApplicableTaxDetail>
                                        </a:ApplicableTaxDetails>
                                        <a:BundleCode/>
                                        <a:OriginalCurrency>USD</a:OriginalCurrency>
                                        <a:ExchangeRate>1</a:ExchangeRate>
                                        <a:ExchangeDate>2024-04-30T00:00:00+00:00</a:ExchangeDate>
                                        <a:CombinableTrips i:nil="true"/>
                                        <a:ReturnFlightSegmentDetails/>
                                    </a:FareInfo>
                                </a:FareInfos>
                            </a:FareType>
                        </a:FareTypes>
                        <a:FlightLegDetails>
                            <a:FlightLegDetail>
                                <a:PFID>131114</a:PFID>
                                <a:DepartureDate>2024-05-02T03:09:00</a:DepartureDate>
                            </a:FlightLegDetail>
                        </a:FlightLegDetails>
                    </a:FlightSegment>
                    `

我正在尝试提取 LegCount 1 的值。

jmeter performance-testing
1个回答
0
投票

尚不清楚您要尝试提取什么形式的信息,但很明显使用正则表达式来解析 XML 不是最好的主意

考虑切换到 XPath Extractor

请参阅 XPath 语言规范XPath 教程 了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.