E9.2 how to collect value from xml body with groovy

cazzafed

cazzafed

Active Member
Hi, i have this XML, i need collect values in <destinatariosEmail> section...
any idea or help?

<parametros>
<modalidadEnvioSet>2</modalidadEnvioSet>
<retornarKuDE>N</retornarKuDE>
<retornarXmlFirmado>N</retornarXmlFirmado>
<envioEmailKude>
<enviarEmail>S</enviarEmail>
<destinatariosEmail>
<destinatarioEmail>[email protected]</destinatarioEmail>
<destinatarioEmail>[email protected]</destinatarioEmail>
</destinatariosEmail>
<esquemaEnvio>ESQKUDE</esquemaEnvio>
</envioEmailKude>
</parametros>
 
John's Stackoverflow article link contains the key.

To get that to work make sure you have "import groovy.xml.*;" at top, and the rest is in finding the address of your email values.

Have fun figuring it out!
 
yes, im using this code:


but, found this output: [[email protected][email protected]]
my expectate ouput: [[email protected],[email protected]]
Something like the below should work:

def xml = ''' <parametros> <modalidadEnvioSet>2</modalidadEnvioSet> <retornarKuDE>N</retornarKuDE> <retornarXmlFirmado>N</retornarXmlFirmado> <envioEmailKude> <enviarEmail>S</enviarEmail> <destinatariosEmail> <destinatarioEmail>[email protected] </destinatarioEmail> <destinatarioEmail>[email protected] </destinatarioEmail> </destinatariosEmail> <esquemaEnvio>ESQKUDE</esquemaEnvio> </envioEmailKude> </parametros> '''

def xmlSlurper = new XmlSlurper().parseText(xml)
def destinatariosEmail = xmlSlurper.envioEmailKude.destinatariosEmail.destinatarioEmail.collect { it.text() }

println destinatariosEmail

FYI n the XML provided, the destinatarioEmail elements are not closed properly.
 
Back
Top