创建< use>使用StreamingMarkupBuilder标记 [英] Creating <use> tag with StreamingMarkupBuilder

查看:121
本文介绍了创建< use>使用StreamingMarkupBuilder标记的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用StreamingMarkupBuilder生成XML,并且需要一个标签.不幸的是我遇到了异常:

I am using StreamingMarkupBuilder to produce XML and I need to have a tag. Unfortunately I get exception :

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

关于如何创建此类标签的任何想法?

any ideas how I can create such tag?

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()

推荐答案

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

You have to use the builder as a prefix to the keyword use, ie:

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>

这篇关于创建&lt; use&gt;使用StreamingMarkupBuilder标记的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆