【发布时间】:2016-06-24 14:31:28
【问题描述】:
我们有一个使用 Groovy SimpleTemplateEngine 生成文本文档的应用。输入是一个解析的 XML 文档,我们通常可以从模板中的表达式中引用这些字段中的任何一个:
def xml = new XmlParser().parseText(xmldocument)
def engine = new SimpleTemplateEngine()
def script = new File(template_file).text
def vars = [xml: xml, ... ]
output = engine.createTemplate(script).make(vars).toString()
在模板脚本中,我们使用如下 Groovy 表达式语法引用 XML 文档中的元素:Hello ${xml.FirstName}(假设“FirstName”是上面解析的 XML 的一部分)。
我们遇到的问题是理解在引用 XML 数组中的项目时使用的语法。例如,我们有这样的 XML:
<Contact>
<Name>111</Name>
<Phone>111</Phone>
</Contact>
<Contact>
<Name>222</Name>
<Phone>222</Phone>
</Contact>
模板文件中让我们引用(例如)第二个联系人的姓名和电话的表达式的语法是什么?我们尝试了${xml.Contact[1].Name} 的变体,但这似乎不起作用。
【问题讨论】: