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

相關問題