替换文件中的GString标记

1 groovy file gstring

我有一个以xml格式保存的word文档.在本文档中,有一些GString标签,如$ name.

在我的groovy代码中,我加载xml文件来替换这个GString标记,如下所示:

    def file = new File ('myDocInXml.xml')
    def name = 'myName'
    file.eachLine { line ->
        println line
    }
Run Code Online (Sandbox Code Playgroud)

但它不起作用.GString标签不会被我的变量'name'替换.

谁能帮助我?

谢谢

小智 5

最好在这里使用模板.将xmml文件作为模板加载并创建绑定以替换占位符.一个简单的例子就像

def xml='''
<books>
<% names.each { %>
<book>
 $it
</book>
<%}%>

</books>
'''
def engine=new groovy.text.SimpleTemplateEngine()
def template=engine.createTemplate(xml)
def binding=[names:['john','joe']]
template.make(binding)
Run Code Online (Sandbox Code Playgroud)