2012-03-03 11 views
1

我使用groovys xml markupbuilder来生成我的xml。我有作为其价值的一部分具有单引号(')的标签的属性,并且当我将其设置在代码中并进行打印输出时,我看到生成的xml已将单引号更改为' 这是自动转换为单引号当我在gsp中渲染这个xml字符串? 如果不是如何保留属性值中的单引号?xml markupbuilder在grails中改变属性值中的单引号到'

我试着用\逃逸单引号,但它还是老样子显示输出日志 这里&者是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(”纽约“)”

感谢

回答

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')" /> 

相关问题