我在groovy类中有以下代码,我想更改根节点的名称。我的域对象名称是EMP,我想将其更改为以XML格式转换域。
def init = {
XML.registerObjectMarshaller Emp
{ emp, xml ->
xml.build {
emp_name(emp.name)
emp_dept(emp.dept)
}
}
}
答案 0 :(得分:0)
要更改根名称,您需要使用NameAwareMarshaller
,这比您当前使用的实现稍微复杂一些。
虽然有点过时,但blog entry详细解释了所有步骤。特别要注意转换器的startNode
属性。
public void marshalObject(Object object, XML converter) {
Foo foo = object as Foo
converter.startNode 'name'
converter.chars foo.name
converter.end()
Map map = [firstKey: 'firstValue', secondKey: 'secondValue']
converter.startNode 'locallyDefinedMap'
converter.convertAnother map
converter.end()
}