很老的问题,但是,问题http://jira.codehaus.org/browse/GROOVY-2505仍然没有解决......有一个很好的解决方法,它的行为几乎像 GString 替换,通过使用 Apache StrSubstitutor 类。对我来说,这比创建模板更舒服——你可以在 XML 文件中使用 GStrings:
import org.apache.commons.lang.text.StrSubstitutor
strResTpl = new File(filePath + "example.xml").text
def extraText = "MY EXTRA TEXT"
map = new HashMap();
map.put("text_to_substitute", "example text - ${extraText}")
def result = new StrSubstitutor(map).replace(strResTpl);
XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<eample>
<text_to_substitute>${text_to_substitute}</text_to_substitute>
</example>
结果:
<?xml version="1.0" encoding="UTF-8"?>
<eample>
<text_to_substitute>example text - MY EXTRA TEXT</text_to_substitute>
</example>