gpathresult - Importación de XML a una clase de dominio Grails
groovy xml (1)
Estoy leyendo un archivo XML con un esquema basado en una clase de dominio.
Aquí hay un ejemplo simple para la ilustración (mi situación actual se refiere a muchos campos de muchas clases):
class Player {
String name
Date birthDate
}
El archivo XML para leer es:
<players>
<player name=''P1'' birthDate=''12-09-1983''/>
</players>
Así que mi pregunta es: al analizar el archivo XML, creo instancias de Player con el siguiente código de Groovy:
def players = new XmlSlurper().parse(xmlFile)
players.player.each() {p ->
new Player(name: p.@name, birthDate: p.@birthDate).save()
}
¿Hay alguna otra manera más simple de hacerlo? ¿Como el enlace de params al crear / actualizar un objeto de dominio usando código como new Player(params)
o player.properties = params
?
En realidad, puedes dar directamente la lista de atributos al constructor de tu clase de dominio con atributos () .
def players = new XmlSlurper().parse(xmlFile)
players.player.each() {p ->
new Player(p.attributes()).save()
}