您的位置:首页 > 其它

freemarker接收XML字符串

2014-02-25 14:09 204 查看
获取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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: