tutorial traduccion peliculas friends app groovy

peliculas - groovy traduccion



¿Cómo puedo recuperar un elemento de Groovy''s GPathResult usando una cadena que contiene un periódico (2)

def elementPath = "elementA.elementB" xml."${elementPath}".each {}

¿Cómo hacer que esto funcione? xml.elementA.elementB.each {} funciona.


Puedo pensar en 2 formas alrededor de esto ...

// Dummy Data for the testing def CAR_RECORDS = '''''' <records> <car name=''HSV Maloo'' make=''Holden'' year=''2006''> <country>Australia</country> <record type=''speed''>Production Pickup Truck with speed of 271kph</record> </car> <car name=''P50'' make=''Peel'' year=''1962''> <country>Isle of Man</country> <record type=''size''>Smallest Street-Legal Car at 99cm wide and 59 kg in weight</record> </car> <car name=''Royale'' make=''Bugatti'' year=''1931''> <country>France</country> <record type=''price''>Most Valuable Car at $15 million</record> </car> </records> '''''' def xml = new XmlSlurper().parseText( CAR_RECORDS ) def propNames = ''car.country'' // METHOD 1 // Split the propnames into individual properties, then use Inject to walk down this list // Passing the result to the next property propNames.split( //./ ).inject( xml ) { obj, prop -> obj?."$prop" }.each { println it.text() } // METHOD 2 // Construct a string to evaluate, and pass the xml object to it (it gets substituted in place of x) Eval.x( xml, "x.${propNames}" ).each { println it.text() }

La página de javadoc para Eval.x está aquí

Espero que esto ayude :-)


xml."elementA.elementB".each {}