关闭

Java如何将Xml转换成纯文本 FreeMaker

标签: javaxmlhashmapimporteclipseuser
754人阅读 评论(0) 收藏 举报
分类:

http://fmpp.sourceforge.net/

 

模板:

<#assign year=10 />

<#assign mgsy=1090.23 /><#assign mgsy2=19903200.23 />

${year}

每股收益                        ${mgsy?string?left_pad(20,'-')}

扣除非经常性损益后每股收益      ${mgsy2?string?left_pad(20,'-')}

<#assign bir=birthday?date?string />

公布日期:                      ${bir?left_pad(20,'-')}

 

Java代码:

package com.lidoo.xml2text;

import java.util.*;

import java.io.*;

import freemarker.core.*;

import freemarker.template.*;

 

public class Test {

public static void main(String[] args) throws IOException, TemplateException{

Configuration cfg = new Configuration(); 

// 指定模板文件从何处加载的数据源,这里设置成一个文件目录。 

cfg.setDirectoryForTemplateLoading(

       new File("D://ITBooks//Eclipse//Projects//Xml2Text//templates")); 

// 指定模板如何检索数据模型,这是一个高级的主题了… 

// 但先可以这么来用: 

cfg.setObjectWrapper(new DefaultObjectWrapper());

// 创建根哈希表 

Map root = new HashMap(); 

// // 在根中放入字符串"user" 

// root.put("user", "Big Joe"); 

// // 为"latestProduct"创建哈希表 

// Map latest = new HashMap(); 

// // 将它添加到根哈希表中 

// root.put("latestProduct", latest); 

// // 在 latest中放置"url"和"name"  

// latest.put("url", "products/greenmouse.html"); 

// latest.put("name", "green mouse"); 

Date birthday = new  java.util.Date();

root.put("birthday", birthday);

Template temp = cfg.getTemplate("GB0101.ftl");

// //cfg.setLocale(java.util.Locale.CHINESE);

Writer out = new OutputStreamWriter(System.out); 

temp.process(root, out); 

out.flush(); 

}

}

转换纯文本的关键:
(1) 在Eclipse中支持ftl文件,对齐方式,先是不精确。最好在记事本中检查一次。
(2) 使用left_pad函数进行右对齐时,判断字符长度时,没有考虑一个中文汉字显示占用两个英文字符宽度。需要另外实现!

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    文章分类
    最新评论