2012-03-03 7 views
1

私はxmlを生成するためにgroovys xml markupbuilderを使用しています。私はその値の一部として一重引用符( ')を持つタグの属性を持っています。コードに設定して印刷を行うと、生成されたXMLに一重引用符があります。' これは自動的に私はgspでこのXML文字列をレンダリングするときにシングルクォートですか? 属性値に一重引用符を保持するにはどうすればよいですか?xml atribute値の一重引用符を変更するgrailsのmarkupbuilder '

私は\を使用して、単一引用符をエスケープしようとしたが、それはSTILここで出力ログ で 'は私が最終的な属性はonclickの= "loadActivity('ニューヨークでなければなりません

xml.map(id:"worldmap",name:"worldmap"){ 
       res_row.each{ 
     area(shape:"circle",alt:it.key,title:it.key,onclick:"loadActivity(\'"+it.key+"\')") 
       } 
      } 

を持ってMarkupBuilderをコードで&を示します「)」

おかげ

答えて

2

あなたは、二重引用符を使用するマークアップ・ビルダーを構成することができます。

完全例:

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

関連する問題