利用freemarker生成xml
复制代码
package com.mooc.freemarkerXML;

import java.io.IOException;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;

import freemarker.template.Configuration;

import freemarker.template.Template;
import freemarker.template.TemplateException;


public class XMLTest {

    public static Template getTemplate(String name){
        Configuration cfg = new Configuration();
        cfg.setClassForTemplateLoading(XMLTest.class, "/resources/");
        Template template = null;
        try {
            template = cfg.getTemplate(name);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return template;
    }
    
    public static String process(String templatefile, Map<String, Object> param) throws IOException, TemplateException,
     Exception{
         Template template = XMLTest.getTemplate(templatefile);
         StringWriter sw = new StringWriter();
         template.process(param, sw);
         return sw.toString();
    }
    public static void main(String[] args) {
        Map<String, Object> responseMap = new HashMap<String, Object>();
        responseMap.put("id", "1");
        responseMap.put("name", "红楼梦");
        responseMap.put("author", "曹雪芹");
        responseMap.put("year", "1862");
        responseMap.put("price", "98");
        String resp = null;
        try {
            resp = XMLTest.process("book.ftl", responseMap);
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(resp);
    }

}
复制代码

book.ftl

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
    <book id="${id}">
        <name>${name}</name>
        <author>${author}</author>
        <year>${year}</year>
        <price>${price}</price>
        <address><#if address??>${address}</#if></address>
    </book>
</bookstore>
复制代码

 

XMLSerializer read()
posted on   james-roger  阅读(2459)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示