As always - You're awesome!
I got it to pull at least the first value I'm looking for. To take this a little further, how can I pull all the values that relate to m:value for "Calling Number"?// create groovyUtils
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
//def response = context.expand( '${getRatedEventList-dateRange#Response#declare namespace m=\'
http://vonage.com/services/servicelayer\'; //m:GetRatedEventListResponse[1]/m:ratedEvents[1]}' )
def response = context.expand( '${getRatedEventList-dateRange#Response#declare namespace m=\'
http://vonage.com/services/servicelayer\'; //m:GetRatedEventListResponse[1]/m:ratedEvents[1]/m:eventAttributes[m:name="Calling Number"]/m:value[1]}' )
log.info response
...
The above pulls one of the numbers.
Vladimir was helping me with using xmlParser which using the portion of your code with his does the same thing.// create groovyUtils
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
//def response = context.expand( '${getRatedEventList-dateRange#Response#declare namespace m=\'
http://vonage.com/services/servicelayer\'; //m:GetRatedEventListResponse[1]/m:ratedEvents[1]}' )
def response = context.expand( '${getRatedEventList-dateRange#Response#declare namespace m=\'
http://vonage.com/services/servicelayer\'; //m:GetRatedEventListResponse[1]/m:ratedEvents[1]/m:eventAttributes[m:name="Calling Number"]}' )
// print
def records = new XmlParser().parseText(response)
for (record in records['m:value'])
log.info record.text()
This also pulls only one of the phone numbers