bulletin.ftl <ul> <#list doc["//item[@groud='4']"][0..14] as bull> <li><a href="${bull.link}" title="${bull.title}" target="_blank">${bull.title}</a></li> </#list> </ul> XMLFreeMarkHelper import freemarker.template.*; import freemarker.ext.*; import freemarker.ext.dom.NodeModel; import java.util.*; import java.io.*; import javax.xml.parsers.ParserConfigurationException; public class XMLFreeMarkHelper { String ftlPath; String xmlPath; //String htmlPath; Map<String, Object> root; NodeModel node; NodeModel nodes[]; Configuration cfg; Template temp; XMLFreeMarkHelper(String ftlPath, String xmlPath) throws Exception { this.xmlPath = xmlPath; //this.htmlPath = htmlPath; this.ftlPath = ftlPath; this.node = NodeModel.parse(new File(xmlPath)); root = new HashMap<String, Object>(); root.put("doc", this.node); String dir = xmlPath.substring(0, xmlPath.lastIndexOf("/")); cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File(dir)); cfg.setObjectWrapper(new DefaultObjectWrapper()); temp = cfg.getTemplate(ftlPath); //init(); } public void out(Writer write) throws TemplateException, IOException { temp.process(this.root, write); } public static void main(String args[]) { try { XMLFreeMarkHelper helper = new XMLFreeMarkHelper("./ftl/bull.ftl", "./home.xml"); helper.out(new FileWriter(new File("./out.html"))); System.out.println("===============FIN==============="); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } xml格式 <?xml version="1.0" encoding="UTF-8"?> <bulletin> <item id="68" type="1" groud="1" ssn="1" time="2009-01-13 00:00:00"> <title><!--[CDATA[如何获得银币?]]></title> <link><![CDATA[http://help.vir.com/index.html#t6]]></link> </item> <item id="380" type="1" groud="4" ssn="1" time="2009-06-04 00:00:00"> <title><![CDATA[[公告]6月4日功能维护公告]]></title> <link><![CDATA[http://bbs.vir.com/read.php?tid=920796]]></link> </item> <item id="171" type="1" groud="2" ssn="1" time="2009-05-18 00:00:00"> <title><![CDATA[场景掌门人精心打造,精彩系列活动邀你来参与!]]></title> <link><![CDATA[http://bbs.vir.com/read.php?tid=913802]]--></link> </item> </bulletin>