freemarker接收XML字符串

获取xml字符串后先转化为 InputStream  ,在使用freemarker.ext.dom.NodeModel.parse将InputStream转化为freemarker中识别的xml

InputStream   in   =   new   ByteArrayInputStream(xml.getBytes("UTF-8"));

InputSource ins=new org.xml.sax.InputSource(in);

map.put("doc",freemarker.ext.dom.NodeModel.parse(ins));

或者直接加载xml文件 freemarker.ext.dom.NodeModel.parse(newFile("the/path/of/the.xml")));


可以在freemarker中使用list接收,假如xml为

<book title=“test book”>
<para>p1.1</para>
<para>p1.2</para>
<para>p1.3</para>
</book>

<#list doc.book as book>

获取到book的节点,获取title ,则通过 ${book.@title}获取

获取book的子节点则

<#list book.para as para>

${para}直接获取到节点

</list>

</list>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章