创建 与StreamingMarkupBuilder标签(Creating tag

2019-09-18 06:21发布

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

Answer 1:

你必须使用的建设者作为前缀的关键字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>


文章来源: Creating tag with StreamingMarkupBuilder