dinojadhav
6 years agoOccasional Contributor
How to capture values from a duplicate tags using groovy script
Hello All,
I have a soap response from which I want to capture some values to use it later. I am able to capture the value from the first tag but unable to capture the value from the second tag as the tag has the same name and don't know how to capture values from duplicate tags using Groovy. Below is my response and the duplicate tag is :
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>,
<stl19:RecordLocator>KYIFID</stl19:RecordLocator>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">
<eb:From>
<eb:PartyId eb:type="URI">123123</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">99999</eb:PartyId>
</eb:To>
<eb:CPAId>AAS</eb:CPAId>
<eb:ConversationId>test</eb:ConversationId>
<eb:Service eb:type="OTA">CDI</eb:Service>
<eb:Action>getReservationRS</eb:Action>
<eb:MessageData>
<eb:MessageId>379170198351950870</eb:MessageId>
<eb:Timestamp>2019-05-22T05:30:35</eb:Timestamp>
<eb:RefToMessageId>mid:20001209-133003-2333@clientofsabre.com</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3015097586846399859!250344!0</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<stl19:GetReservationRS Version="1.19.0" xmlns:stl19="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:ns6="http://services.sabre.com/res/orr/v0" xmlns:or114="http://services.sabre.com/res/or/v1_14" xmlns:raw="http://tds.sabre.com/itinerary" xmlns:ns4="http://webservices.sabre.com/pnrconn/ReaccSearch">
<stl19:Reservation numberInParty="1" numberOfInfants="0" NumberInSegment="1">
<stl19:BookingDetails>
<stl19:Header>PLATINUM</stl19:Header>
<stl19:RecordLocator>KYIFID</stl19:RecordLocator>
<stl19:CreationTimestamp>2019-05-22T00:30:00</stl19:CreationTimestamp>
<stl19:SystemCreationTimestamp>2019-05-22T00:30:00</stl19:SystemCreationTimestamp>
<stl19:CreationAgentID>DJL</stl19:CreationAgentID>
<stl19:UpdateTimestamp>2019-05-22T00:30:27</stl19:UpdateTimestamp>
<stl19:PNRSequence>3</stl19:PNRSequence>
<stl19:FlightsRange Start="2019-06-19T22:10:00" End="2019-06-20T06:10:00"/>
<stl19:DivideSplitDetails>
<stl19:DividedRecord>
<stl19:DivideTimestamp>2019-05-22T00:30:00</stl19:DivideTimestamp>
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>
<stl19:AgentSine>HDQ8DJL</stl19:AgentSine>
</stl19:DividedRecord>
<stl19:SplitToRecord>
<stl19:DivideTimestamp>2019-05-22T00:30:25</stl19:DivideTimestamp>
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>
<stl19:OriginalNumberOfPax>02</stl19:OriginalNumberOfPax>
<stl19:CurrentNumberOfPax>01</stl19:CurrentNumberOfPax>
<stl19:CurrentPassengerNames>SABRE/PLATINUM</stl19:CurrentPassengerNames>
</stl19:SplitToRecord>
</stl19:DivideSplitDetails>
<stl19:EstimatedPurgeTimestamp>2019-07-19T00:00:00</stl19:EstimatedPurgeTimestamp>
<stl19:UpdateToken>2ce0b4e628e2eb3d47fab119a981d606b654bbc69d326850</stl19:UpdateToken>
</stl19:BookingDetails>
<stl19:POS AirExtras="false" InhibitCode="U">
<stl19:Source BookingSource="A0A0" AgentSine="DJL" PseudoCityCode="HDQ" ISOCountry="US" AgentDutyCode="8" AirlineVendorID="VA" HomePseudoCityCode="HDQ" PrimeHostID="VA"/>
</stl19:POS>
<stl19:PassengerReservation>
<stl19:Passengers>
<stl19:Passenger id="5" nameType="S" nameId="01.01" nameAssocId="2" elementId="pnr-5.2">
<stl19:LastName>SABRE</stl19:LastName>
<stl19:FirstName>PLATINUM</stl19:FirstName>
<stl19:FrequentFlyer id="10">
<stl19:SupplierCode>VA</stl19:SupplierCode>
<stl19:Number>9290011813</stl19:Number>
<stl19:TierLevelNumber>2</stl19:TierLevelNumber>
<stl19:ShortText>PLT</stl19:ShortText>
<stl19:ReceivingCarrierCode>VA</stl19:ReceivingCarrierCode>
<stl19:StatusCode>HK</stl19:StatusCode>
<stl19:PartnershipAirlineCodes>
<stl19:Code>AB</stl19:Code>
<stl19:Code>AC</stl19:Code>
<stl19:Code>VX</stl19:Code>
<stl19:Code>CG</stl19:Code>
<stl19:Code>DL</stl19:Code>
<stl19:Code>VA</stl19:Code>
<stl19:Code>GS</stl19:Code>
<stl19:Code>NZ</stl19:Code>
<stl19:Code>HU</stl19:Code>
<stl19:Code>SA</stl19:Code>
<stl19:Code>HX</stl19:Code>
<stl19:Code>EY</stl19:Code>
<stl19:Code>AZ</stl19:Code>
<stl19:Code>HA</stl19:Code>
<stl19:Code>JD</stl19:Code>
<stl19:Code>XR</stl19:Code>
<stl19:Code>MI</stl19:Code>
<stl19:Code>VS</stl19:Code>
<stl19:Code>SQ</stl19:Code>
</stl19:PartnershipAirlineCodes>
</stl19:FrequentFlyer>
<stl19:Seats/>
</stl19:Passenger>
</stl19:Passengers>
<stl19:Segments>
<stl19:Poc>
<stl19:Airport>DPS</stl19:Airport>
<stl19:Departure>2019-06-19T22:10:00</stl19:Departure>
</stl19:Poc>
<stl19:Segment sequence="1" id="3">
<stl19:Air id="3" sequence="1" segmentAssociationId="2" isPast="false" DayOfWeekInd="3" CodeShare="false" SpecialMeal="false" SmokingAllowed="false" ResBookDesigCode="Y" Code="**">
<stl19:DepartureAirport>DPS</stl19:DepartureAirport>
<stl19:DepartureAirportCodeContext>IATA</stl19:DepartureAirportCodeContext>
<stl19:ArrivalAirport>SYD</stl19:ArrivalAirport>
<stl19:ArrivalAirportCodeContext>IATA</stl19:ArrivalAirportCodeContext>
<stl19:OperatingAirlineCode>VA</stl19:OperatingAirlineCode>
<stl19:OperatingAirlineShortName>VIRGIN AUSTRALIA</stl19:OperatingAirlineShortName>
<stl19:OperatingFlightNumber>0036</stl19:OperatingFlightNumber>
<stl19:EquipmentType>73H</stl19:EquipmentType>
<stl19:MarketingAirlineCode>VA</stl19:MarketingAirlineCode>
<stl19:MarketingFlightNumber>0036</stl19:MarketingFlightNumber>
<stl19:OperatingClassOfService>Y</stl19:OperatingClassOfService>
<stl19:MarketingClassOfService>Y</stl19:MarketingClassOfService>
<stl19:MarriageGrp>
<stl19:Ind>0</stl19:Ind>
<stl19:Group>0</stl19:Group>
<stl19:Sequence>0</stl19:Sequence>
</stl19:MarriageGrp>
<stl19:Seats/>
<stl19:Eticket>true</stl19:Eticket>
<stl19:DepartureDateTime>2019-06-19T22:10:00</stl19:DepartureDateTime>
<stl19:ArrivalDateTime>2019-06-20T06:10:00</stl19:ArrivalDateTime>
<stl19:FlightNumber>0036</stl19:FlightNumber>
<stl19:ClassOfService>Y</stl19:ClassOfService>
<stl19:ActionCode>HK</stl19:ActionCode>
<stl19:NumberInParty>1</stl19:NumberInParty>
<stl19:SegmentSpecialRequests/>
<stl19:inboundConnection>false</stl19:inboundConnection>
<stl19:outboundConnection>false</stl19:outboundConnection>
<stl19:ScheduleChangeIndicator>false</stl19:ScheduleChangeIndicator>
<stl19:SegmentBookedDate>2019-05-22T00:30:00</stl19:SegmentBookedDate>
<stl19:Pos>
<stl19:IataNumber>0</stl19:IataNumber>
<stl19:AgencyCityCode>HDQ</stl19:AgencyCityCode>
<stl19:CountryCode>US</stl19:CountryCode>
<stl19:DutyCode>8</stl19:DutyCode>
</stl19:Pos>
<stl19:Banner>MARKETED BY VIRGIN AUSTRALIA</stl19:Banner>
<stl19:Informational>false</stl19:Informational>
</stl19:Air>
</stl19:Segment>
</stl19:Segments>
<stl19:TicketingInfo>
<stl19:TicketingTimeLimit id="7" index="1" elementId="pnr-7">
<stl19:Time>TL30</stl19:Time>
</stl19:TicketingTimeLimit>
</stl19:TicketingInfo>
<stl19:ItineraryPricing/>
</stl19:PassengerReservation>
<stl19:ReceivedFrom>
<stl19:Name>QA</stl19:Name>
</stl19:ReceivedFrom>
<stl19:PhoneNumbers>
<stl19:PhoneNumber id="6" index="1" elementId="pnr-6">
<stl19:CityCode>HDQ</stl19:CityCode>
<stl19:Number>594999</stl19:Number>
</stl19:PhoneNumber>
</stl19:PhoneNumbers>
<stl19:Remarks>
<stl19:Remark index="1" id="12" type="REG" elementId="pnr-12">
<stl19:RemarkLines>
<stl19:RemarkLine>
<stl19:Text>DIVIDED/HDQ8DJL 0030/22MAY19 KYIHBI</stl19:Text>
</stl19:RemarkLine>
</stl19:RemarkLines>
</stl19:Remark>
<stl19:Remark index="2" id="13" type="HS" elementId="pnr-13">
<stl19:RemarkLines>
<stl19:RemarkLine>
<stl19:Text>SPLIT TO/003025/22MAY19 KYIHBI 02/02 01/01 SABRE/PLATINUM</stl19:Text>
</stl19:RemarkLine>
</stl19:RemarkLines>
</stl19:Remark>
</stl19:Remarks>
<stl19:EmailAddresses/>
<stl19:OpenReservationElements>
<or114:OpenReservationElement id="10" type="FF" elementId="pnr-or-10">
<or114:Loyalty>
<or114:FrequentFlyer>
<or114:ActionCode>HK</or114:ActionCode>
<or114:PreviousActionCode>NN</or114:PreviousActionCode>
<or114:Vendor>VA</or114:Vendor>
<or114:ReceivingCarrierCode>VA</or114:ReceivingCarrierCode>
<or114:VitType>2</or114:VitType>
<or114:FrequentFlyerNumber>9290011813</or114:FrequentFlyerNumber>
<or114:Banner>PLATINUM</or114:Banner>
<or114:Tag>PLT</or114:Tag>
</or114:FrequentFlyer>
</or114:Loyalty>
<or114:NameAssociation>
<or114:LastName>SABRE</or114:LastName>
<or114:FirstName>PLATINUM</or114:FirstName>
<or114:Id>2</or114:Id>
<or114:NameRefNumber>01.01</or114:NameRefNumber>
</or114:NameAssociation>
</or114:OpenReservationElement>
</stl19:OpenReservationElements>
</stl19:Reservation>
</stl19:GetReservationRS>
</soap-env:Body>
</soap-env:Envelope>
<soap-env:Header>
<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">
<eb:From>
<eb:PartyId eb:type="URI">123123</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">99999</eb:PartyId>
</eb:To>
<eb:CPAId>AAS</eb:CPAId>
<eb:ConversationId>test</eb:ConversationId>
<eb:Service eb:type="OTA">CDI</eb:Service>
<eb:Action>getReservationRS</eb:Action>
<eb:MessageData>
<eb:MessageId>379170198351950870</eb:MessageId>
<eb:Timestamp>2019-05-22T05:30:35</eb:Timestamp>
<eb:RefToMessageId>mid:20001209-133003-2333@clientofsabre.com</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/STSA!ICESMSLB\/STS.LB!-3015097586846399859!250344!0</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<stl19:GetReservationRS Version="1.19.0" xmlns:stl19="http://webservices.sabre.com/pnrbuilder/v1_19" xmlns:ns6="http://services.sabre.com/res/orr/v0" xmlns:or114="http://services.sabre.com/res/or/v1_14" xmlns:raw="http://tds.sabre.com/itinerary" xmlns:ns4="http://webservices.sabre.com/pnrconn/ReaccSearch">
<stl19:Reservation numberInParty="1" numberOfInfants="0" NumberInSegment="1">
<stl19:BookingDetails>
<stl19:Header>PLATINUM</stl19:Header>
<stl19:RecordLocator>KYIFID</stl19:RecordLocator>
<stl19:CreationTimestamp>2019-05-22T00:30:00</stl19:CreationTimestamp>
<stl19:SystemCreationTimestamp>2019-05-22T00:30:00</stl19:SystemCreationTimestamp>
<stl19:CreationAgentID>DJL</stl19:CreationAgentID>
<stl19:UpdateTimestamp>2019-05-22T00:30:27</stl19:UpdateTimestamp>
<stl19:PNRSequence>3</stl19:PNRSequence>
<stl19:FlightsRange Start="2019-06-19T22:10:00" End="2019-06-20T06:10:00"/>
<stl19:DivideSplitDetails>
<stl19:DividedRecord>
<stl19:DivideTimestamp>2019-05-22T00:30:00</stl19:DivideTimestamp>
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>
<stl19:AgentSine>HDQ8DJL</stl19:AgentSine>
</stl19:DividedRecord>
<stl19:SplitToRecord>
<stl19:DivideTimestamp>2019-05-22T00:30:25</stl19:DivideTimestamp>
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>
<stl19:OriginalNumberOfPax>02</stl19:OriginalNumberOfPax>
<stl19:CurrentNumberOfPax>01</stl19:CurrentNumberOfPax>
<stl19:CurrentPassengerNames>SABRE/PLATINUM</stl19:CurrentPassengerNames>
</stl19:SplitToRecord>
</stl19:DivideSplitDetails>
<stl19:EstimatedPurgeTimestamp>2019-07-19T00:00:00</stl19:EstimatedPurgeTimestamp>
<stl19:UpdateToken>2ce0b4e628e2eb3d47fab119a981d606b654bbc69d326850</stl19:UpdateToken>
</stl19:BookingDetails>
<stl19:POS AirExtras="false" InhibitCode="U">
<stl19:Source BookingSource="A0A0" AgentSine="DJL" PseudoCityCode="HDQ" ISOCountry="US" AgentDutyCode="8" AirlineVendorID="VA" HomePseudoCityCode="HDQ" PrimeHostID="VA"/>
</stl19:POS>
<stl19:PassengerReservation>
<stl19:Passengers>
<stl19:Passenger id="5" nameType="S" nameId="01.01" nameAssocId="2" elementId="pnr-5.2">
<stl19:LastName>SABRE</stl19:LastName>
<stl19:FirstName>PLATINUM</stl19:FirstName>
<stl19:FrequentFlyer id="10">
<stl19:SupplierCode>VA</stl19:SupplierCode>
<stl19:Number>9290011813</stl19:Number>
<stl19:TierLevelNumber>2</stl19:TierLevelNumber>
<stl19:ShortText>PLT</stl19:ShortText>
<stl19:ReceivingCarrierCode>VA</stl19:ReceivingCarrierCode>
<stl19:StatusCode>HK</stl19:StatusCode>
<stl19:PartnershipAirlineCodes>
<stl19:Code>AB</stl19:Code>
<stl19:Code>AC</stl19:Code>
<stl19:Code>VX</stl19:Code>
<stl19:Code>CG</stl19:Code>
<stl19:Code>DL</stl19:Code>
<stl19:Code>VA</stl19:Code>
<stl19:Code>GS</stl19:Code>
<stl19:Code>NZ</stl19:Code>
<stl19:Code>HU</stl19:Code>
<stl19:Code>SA</stl19:Code>
<stl19:Code>HX</stl19:Code>
<stl19:Code>EY</stl19:Code>
<stl19:Code>AZ</stl19:Code>
<stl19:Code>HA</stl19:Code>
<stl19:Code>JD</stl19:Code>
<stl19:Code>XR</stl19:Code>
<stl19:Code>MI</stl19:Code>
<stl19:Code>VS</stl19:Code>
<stl19:Code>SQ</stl19:Code>
</stl19:PartnershipAirlineCodes>
</stl19:FrequentFlyer>
<stl19:Seats/>
</stl19:Passenger>
</stl19:Passengers>
<stl19:Segments>
<stl19:Poc>
<stl19:Airport>DPS</stl19:Airport>
<stl19:Departure>2019-06-19T22:10:00</stl19:Departure>
</stl19:Poc>
<stl19:Segment sequence="1" id="3">
<stl19:Air id="3" sequence="1" segmentAssociationId="2" isPast="false" DayOfWeekInd="3" CodeShare="false" SpecialMeal="false" SmokingAllowed="false" ResBookDesigCode="Y" Code="**">
<stl19:DepartureAirport>DPS</stl19:DepartureAirport>
<stl19:DepartureAirportCodeContext>IATA</stl19:DepartureAirportCodeContext>
<stl19:ArrivalAirport>SYD</stl19:ArrivalAirport>
<stl19:ArrivalAirportCodeContext>IATA</stl19:ArrivalAirportCodeContext>
<stl19:OperatingAirlineCode>VA</stl19:OperatingAirlineCode>
<stl19:OperatingAirlineShortName>VIRGIN AUSTRALIA</stl19:OperatingAirlineShortName>
<stl19:OperatingFlightNumber>0036</stl19:OperatingFlightNumber>
<stl19:EquipmentType>73H</stl19:EquipmentType>
<stl19:MarketingAirlineCode>VA</stl19:MarketingAirlineCode>
<stl19:MarketingFlightNumber>0036</stl19:MarketingFlightNumber>
<stl19:OperatingClassOfService>Y</stl19:OperatingClassOfService>
<stl19:MarketingClassOfService>Y</stl19:MarketingClassOfService>
<stl19:MarriageGrp>
<stl19:Ind>0</stl19:Ind>
<stl19:Group>0</stl19:Group>
<stl19:Sequence>0</stl19:Sequence>
</stl19:MarriageGrp>
<stl19:Seats/>
<stl19:Eticket>true</stl19:Eticket>
<stl19:DepartureDateTime>2019-06-19T22:10:00</stl19:DepartureDateTime>
<stl19:ArrivalDateTime>2019-06-20T06:10:00</stl19:ArrivalDateTime>
<stl19:FlightNumber>0036</stl19:FlightNumber>
<stl19:ClassOfService>Y</stl19:ClassOfService>
<stl19:ActionCode>HK</stl19:ActionCode>
<stl19:NumberInParty>1</stl19:NumberInParty>
<stl19:SegmentSpecialRequests/>
<stl19:inboundConnection>false</stl19:inboundConnection>
<stl19:outboundConnection>false</stl19:outboundConnection>
<stl19:ScheduleChangeIndicator>false</stl19:ScheduleChangeIndicator>
<stl19:SegmentBookedDate>2019-05-22T00:30:00</stl19:SegmentBookedDate>
<stl19:Pos>
<stl19:IataNumber>0</stl19:IataNumber>
<stl19:AgencyCityCode>HDQ</stl19:AgencyCityCode>
<stl19:CountryCode>US</stl19:CountryCode>
<stl19:DutyCode>8</stl19:DutyCode>
</stl19:Pos>
<stl19:Banner>MARKETED BY VIRGIN AUSTRALIA</stl19:Banner>
<stl19:Informational>false</stl19:Informational>
</stl19:Air>
</stl19:Segment>
</stl19:Segments>
<stl19:TicketingInfo>
<stl19:TicketingTimeLimit id="7" index="1" elementId="pnr-7">
<stl19:Time>TL30</stl19:Time>
</stl19:TicketingTimeLimit>
</stl19:TicketingInfo>
<stl19:ItineraryPricing/>
</stl19:PassengerReservation>
<stl19:ReceivedFrom>
<stl19:Name>QA</stl19:Name>
</stl19:ReceivedFrom>
<stl19:PhoneNumbers>
<stl19:PhoneNumber id="6" index="1" elementId="pnr-6">
<stl19:CityCode>HDQ</stl19:CityCode>
<stl19:Number>594999</stl19:Number>
</stl19:PhoneNumber>
</stl19:PhoneNumbers>
<stl19:Remarks>
<stl19:Remark index="1" id="12" type="REG" elementId="pnr-12">
<stl19:RemarkLines>
<stl19:RemarkLine>
<stl19:Text>DIVIDED/HDQ8DJL 0030/22MAY19 KYIHBI</stl19:Text>
</stl19:RemarkLine>
</stl19:RemarkLines>
</stl19:Remark>
<stl19:Remark index="2" id="13" type="HS" elementId="pnr-13">
<stl19:RemarkLines>
<stl19:RemarkLine>
<stl19:Text>SPLIT TO/003025/22MAY19 KYIHBI 02/02 01/01 SABRE/PLATINUM</stl19:Text>
</stl19:RemarkLine>
</stl19:RemarkLines>
</stl19:Remark>
</stl19:Remarks>
<stl19:EmailAddresses/>
<stl19:OpenReservationElements>
<or114:OpenReservationElement id="10" type="FF" elementId="pnr-or-10">
<or114:Loyalty>
<or114:FrequentFlyer>
<or114:ActionCode>HK</or114:ActionCode>
<or114:PreviousActionCode>NN</or114:PreviousActionCode>
<or114:Vendor>VA</or114:Vendor>
<or114:ReceivingCarrierCode>VA</or114:ReceivingCarrierCode>
<or114:VitType>2</or114:VitType>
<or114:FrequentFlyerNumber>9290011813</or114:FrequentFlyerNumber>
<or114:Banner>PLATINUM</or114:Banner>
<or114:Tag>PLT</or114:Tag>
</or114:FrequentFlyer>
</or114:Loyalty>
<or114:NameAssociation>
<or114:LastName>SABRE</or114:LastName>
<or114:FirstName>PLATINUM</or114:FirstName>
<or114:Id>2</or114:Id>
<or114:NameRefNumber>01.01</or114:NameRefNumber>
</or114:NameAssociation>
</or114:OpenReservationElement>
</stl19:OpenReservationElements>
</stl19:Reservation>
</stl19:GetReservationRS>
</soap-env:Body>
</soap-env:Envelope>
So to count
<stl19:RecordLocator>KYIHBI</stl19:RecordLocator>,
<stl19:RecordLocator>KYIFID</stl19:RecordLocator>You can use count and then iterate the count to each duplicat record. Refer below piece of code for reference:import com.eviware.soapui.support.GroovyUtils import com.eviware.soapui.support.XmlHolder def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) def xmlHolder = groovyUtils.getXmlHolder(xml) def val = xmlHolder["//*:RecordLocator"] def count = xmlHolder["count(//*:RecordLocator)"] for(i=0;i<count.toInteger();i++){ log.info val[i] // it will print all the values from duplicate RecordLocator tags }