我正在设置一个应用程序,该应用程序根据每个呼叫实例特定的XML文件启动电话呼叫。出于测试目的,我使用Groovy MarkupBuilder和StringWriter方法将我的XML写入单个文件,然后在下次启动调用时覆盖该文件。如何在Grails中动态呈现XML?
但是,这在生产中不起作用,因为我们将覆盖当前正在使用的XML。所以,我想用类似调用它动态地创建一个XML控制器:
callInstance.createXml()
用含有具体如何渲染XML为每个呼叫规则“createXml”的方法。
我发现人们询问如何将对象转化为动态创建的XML文件的多个实例,但由于我不得不使用MarkupBuilder,所以这有点不同。
对于快速参考,这里就是我的工作的小例子:
def f1 = new File('filename')
f1.delete()
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
xml.doubleQuotes = true
xml.vxml(version:'2.1'){
property(name:"termchar", value:"#")
var(name:"hi", expr:"'Hello!'")
xml.form(){
block(){
value(expr:"hi")
xml.goto(next:"#next") //etc, etc
}
}
}
//break
f1.createNewFile()
f1 << writer.toString()
提前感谢!
你见过[本条](http://www.ibm.com/developerworks/library/j-grails09168/)? 3岁,但它仍然有一些很好的信息。 –