我正在使用groovys xml markupbuilder来生成我的xml。我有一个标签的属性,它有单引号(')作为其值的一部分,当我在代码中设置并执行打印输出时,我看到生成的xml将单引号更改为' 当我在gsp中渲染这个xml字符串时,这会自动转换为单引号吗? 如果不是如何保留属性值中的单引号?
我试图使用\来逃避单引号,但它在输出日志中显示& apos 这是我有的markupbuilder代码
xml.map(id:"worldmap",name:"worldmap"){
res_row.each{
area(shape:"circle",alt:it.key,title:it.key,onclick:"loadActivity(\'"+it.key+"\')")
}
}
最终属性应该是onclick =“loadActivity('New York')”
由于
答案 0 :(得分:2)
您可以将标记构建器配置为使用双引号:
xml.setDoubleQuotes(true)
完整示例:
import groovy.xml.MarkupBuilder
def xml = new MarkupBuilder()
xml.setDoubleQuotes(true)
def res_row = [a:1, b:2]
def text= xml.map(id:"worldmap",name:"worldmap"){
res_row.each{
area(shape:"circle",alt:it.key,title:it.key,onclick:"loadActivity('${it.key}')")
}
}
println text
打印:
<map id="worldmap" name="worldmap">
<area shape="circle" alt="a" title="a" onclick="loadActivity('a')" />
<area shape="circle" alt="b" title="b" onclick="loadActivity('b')" />