测试代码
@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>
效果