测试代码
@Test
public void test09() throws Exception{
root.put("doc",
NodeModel.parse(new InputSource(
this.getClass().getResourceAsStream("/fields.xml"))));
freemakerUtil.print(root, "09.ftl");
freemakerUtil.fprint(root, "09.ftl", fn+"09.html");
}
ftl模版文件
<body>
<#--获取属性值-->
${doc.fields.field[0].@id}--${doc.fields.field[0].@name}<br/>
<#--获取元素值-->
${doc.fields.field[0].desc}<br/>
<#--获取doc里fields中id为sex的field下的所有data-->
<#list doc["fields/field[@id='sex']/data"] as data>
<#--获取field的name值 通过@获取属性名字-->
${doc["fields/field[@id='sex']"].@name}
<#--索取节点元素-->
${data.key}---${data.name}
</#list>
</body>
xml文件
<fields>
<field id="sex" name="请选择性别" >
<desc>这个是性别</desc>
<data>
<key>0</key>
<name>男</name>
</data>
<data>
<key>1</key>
<name>女</name>
</data>
<data>
<key>2</key>
<name>未知</name>
</data>
</field>
</fields>
效果