使用StreamingMarkupBuilder创建<use>标签</use>

时间:2012-06-19 10:41:29

标签: xml groovy markupbuilder

我正在使用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()

1 个答案:

答案 0 :(得分:3)

您必须使用构建器作为关键字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>
相关问题