2

我正在使用 StreamingMarkupBuilder 生成 XML,我需要一个标签。不幸的是我得到了例外:

Caught: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to java.lang.Class

有什么想法可以创建这样的标签吗?

import groovy.xml.StreamingMarkupBuilder
import org.custommonkey.xmlunit.*
import groovy.xml.XmlUtil

def xml = new StreamingMarkupBuilder().bind{
'use'(name:'Name', type:'type', year:2006) {
  desc('desc')
} 

} 

println xml.toString()
4

1 回答 1

3

您必须使用 builder 作为关键字的前缀use,即:

def xml = new StreamingMarkupBuilder().bind { smb ->
  smb.use( name:'Name', type:'type', year:2006 ) {
    desc( 'desc' )
  } 
} 

println xml.toString()

印刷:

<use name='Name' type='type' year='2006'><desc>desc</desc></use>
于 2012-06-19T10:52:48.980 回答