У меня есть xml файл, как показано, теперь я хочу прочитать его с помощью шаблона freeMarker и получить желаемый результат
<preDefinedRecipes>
<preDefinedRecipe type="BREAD" name="A" >
<parameterDef ref="SUGAR_QTY" value="3" />
<parameterDef ref="SALT_QTY" value="3" />
<parameterDef ref="OIL_QTY" value="1" />
</preDefinedRecipe>
<preDefinedRecipe type="BREAD" name="B" >
<parameterDef ref="SUGAR_QTY" value="5" />
<parameterDef ref="SALT_QTY" value="7" />
<parameterDef ref="FLOUR_QTY" value="3" />
</preDefinedRecipe>
</preDefinedRecipes>
Op needed:
('A','SUGAR_QTY','3')
('A','SALT_QTY','3')
('A','OIL_QTY','1')
('B','SUGAR_QTY','5')
('B','SALT_QTY','7')
('B','FLOUR_QTY','3')
Но результат, который я смог сгенерировать, равен
('A','SUGAR_QTY','3')
('A','SALT_QTY','3')
('A','OIL_QTY','1')
('A','SUGAR_QTY','5')
('A','SALT_QTY','7')
('A','FLOUR_QTY','3')
('B','SUGAR_QTY','3')
('B','SALT_QTY','3')
('B','OIL_QTY','1')
('B','SUGAR_QTY','5')
('B','SALT_QTY','7')
('B','FLOUR_QTY','3')
('B','FLOUR_QTY','3')
Это шаблон
<#list doc.preDefinedRecipes.preDefinedRecipe as PDR>
<#assign Name = PDR.@name>
<#list doc.preDefinedRecipes.preDefinedRecipe.parameterDef as PDEF>
('${PDR[0].@name}','${PDEF.@ref}','${PDEF.@value}')
</#list>
</#list>
Я хочу знать, как прочитать индексный номер списка, чтобы я мог выполнять итерации, как вложенные для l oop. Новое в freemarker, любые рекомендации будут оценены. заранее спасибо