第一次写这个,只是按着自己想的来写,没有什么思路。。。。

https://blog.csdn.net/kangcool_sn/article/details/85096386

先建一个Person对象,也可以不用,只是为了封装数据好处理

public class Person {  private String name;  private String age;  private String birthday;  private String sex;
public String getName() {  return name;
}
public void setName(String name) {  this.name = name;
}
public String getAge() {  return age;
}
public void setAge(String age) {  this.age = age;
}
public String getBirthday() {  return birthday;
}
public void setBirthday(String birthday) {  this.birthday = birthday;
}
public String getSex() {  return sex;
}
public void setSex(String sex) {  this.sex = sex;
}
}
 

创建工具类  这边把测试方法写在工具类中了,可以分离出去


import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;  import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;  public class ObjectToXmlUtil
{  /** *  * @param xmlPath xml的路径 * @param xmlName xml的名称* @param code 数据编码格式 * @param dataMap 需要渲染到xml中的map数据 * @return xmlString*/  public  String createXmlFile(String xmlPath,String xmlName,String code, Map dataMap)  {  String result = "";  //得FreeMarker配置对象// 创建Configuration对象  Configuration cfg = new Configuration();  //设置模板编码格式cfg.setEncoding(Locale.getDefault(),code); //得FreeMarker的关键对象---------模板  // 创建Template对象  Template template = null;  try  {  // 设置FreeMarker的模版文件位置  cfg.setClassForTemplateLoading(this.getClass(),"");//cfg.setDirectoryForTemplateLoading(new File(xmlPath));template = cfg.getTemplate(xmlName);  }  catch (IOException e1)  {  e1.printStackTrace();  }  template.setEncoding(code);  //String path = ServletActionContext.getServletContext().getRealPath("/");  /* File dir = new File(path + htmlPath);  if (!dir.exists())  {  dir.mkdirs();  } */ // File fileName = new java.io.File(path + htmlPath + htmlName);  //System.out.println("html file:" + fileName.getPath());  //Writer writer = null;  java.io.StringWriter w =new StringWriter();  try  {  // 生成xmltemplate.process(dataMap, w);  System.out.println(w.toString());  result = w.toString();  }  catch (TemplateException e)  {  e.printStackTrace();  }  catch (IOException e)  {  e.printStackTrace();  }   return result;  }  public static void main(String args[]){ObjectToXmlUtil t = new ObjectToXmlUtil();Map map =t.demo();t.createXmlFile("","Person.xml","gbk", map);}private Map demo(){Person p =new Person();p.setName("李四");p.setAge("12");p.setBirthday("20161201");p.setSex("Y");Map map = new HashMap();map.put("t", p);
return map;}}

创建自己要生成的xml模板样式,将数据写过来

<?xml version="1.0" encoding="gbk"?>
<root id="" comment=""><person><name>${t.name}</name><age>${t.age}</age><birthday>${t.birthday}</birthday><sex>${t.sex}</sex></person>
</root>

最后输出结果,转成你想要的xml文件即可:

<?xml version="1.0" encoding="gbk"?>
<root id="" comment=""><person><name>李四</name><age>12</age><birthday>20161201</birthday><sex>Y</sex></person>
</root>

xml模板中带有多条的同样处理方法

以上纯属一个小白的一点心得,勿喷

https://blog.csdn.net/kangcool_sn/article/details/85069434

FreeMarker入门 生成xml模板相关推荐

  1. 使用freemarker生成xml模板

    今天在java交流群里有个人问我如何用freemarker生成xml模板文件,可以手动配置参数,于是我到网上百度了一下.发现有一位同行的博文写的很nice,于是我就照着他的代码敲了一遍,最后实现了,本 ...

  2. freemarker自动生成html页面,HTML+CSS入门 Freemarker如何生成HTML静态页面

    本篇教程介绍了HTML+CSS入门 Freemarker如何生成HTML静态页面,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 做一个网址导航的项目,面向用户的就是一个首 ...

  3. freemarker生成word模板

    freemarker生成word模板 一.引入依赖 <dependency><groupId>org.freemarker</groupId><artifac ...

  4. JAVA通过xml模板生成DOCX文档

    准备工作: 1.xml模版,获取方式为docx文件winrar方式打开,取出document.xml 2.将内容格式化后修改需要替换的内容为freemarker标签,如下: 3.文件准备好后存放到某个 ...

  5. 使用xml模板生成word文档

    1.新建一个docx格式的word文档 2.编写模板内容,调整模板格式,将需要替换的内容用freemark语言标记,例如${content} 3.复制一份docx模板文件,修改扩展名为zip,解压文件 ...

  6. java 使用xml生成word_Java+freemaker+xml生成word模板

    date: 2017-04-15 21:34:56 Java利用freemaker包来操作生成word模板. 一个头疼的问题,了解了下xml. Java也是在学习的路上. 需求 自动化生成word报告 ...

  7. 9.动态生成实体类,根据XML模板使用Emit生成动态类绑定到DataGrid

    在实际项目中,我们可能会遇到用户自定义XML模板字段,根据这个模板上的字段来显示相应的字段的值到DataGrid.在这种情况下,需要使用 XmlReader解析获取这个用户自定义的XML模板上有哪些字 ...

  8. easyui java代码生成器,easyui+jdbc+xml模板开发自动化生成报表的java工具 - 贪吃蛇学院-专业IT技术平台...

    ps:看到有同学问了一下问题,做一下答复,该实现不是web项目,大家只需要将代码集成到web项目中即可,原项目太大,不便上传.还有 jar包自己找啊 呵呵 采用easyui+jdbc+xml模板生成报 ...

  9. 学成在线--8.Freemarker入门教程

    文章目录 1.FreeMarker介绍 1)常用的java模板引擎还有哪些? 2)freemarker是一个用Java开发的模板引擎 3)模板+数据模型=输出 2.FreeMarker快速入门 1)创 ...

最新文章

  1. 2020中国高校薪资排行出炉!好过双一流的高校原来这么多!
  2. 花40分钟写一个-CBIR引擎-代码公开
  3. ARM学习书单一提供打包下载地址
  4. opencv 学习笔记9:图像缩放与图像翻转
  5. SpringBoot连接Redis超简单
  6. selenium之输出html测试报告
  7. Analyzing Storage Performance using the Windows Performance Analysis ToolKit (WPT)
  8. !doctype html报错h5,【Web前端问题】javascript import 报错
  9. [css] 如何在白天和黑夜自动切换页面的颜色?
  10. java dfs_Java数据结构与算法 深搜(DFS)的简单使用(一)之排列组合
  11. java 8进制 前是 零,从零学java笔录-第6篇 进制之间转换
  12. 一本通1594涂抹果酱
  13. Dynatable – 基于 HTML5 jQuery 的交互表格插件
  14. CentOS6.5修改系统语言为英语
  15. 照片转3d模型_云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型...
  16. 9--《Method and apparatus for providing an e-bussiness audit trail in a distribu》
  17. 强化学习用 Sarsa 算法与 Q-learning 算法实现FrozenLake-v0
  18. cancase lin管脚_Vector CANCASE XL+CABLE 模块
  19. 【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。
  20. Spring+SpringMVC+Mybatis分布式敏捷开发系统架构(附源码)

热门文章

  1. 为什么vacuum full也无法回收空间?
  2. iOS问题记录 - Xcode 14.3版本运行项目报错
  3. nagios监控系统——实战篇
  4. 整蛊朋友的python代码{1}(二次创作)
  5. 乱七八糟介绍一款文献检索网站,web of science
  6. LeetCode第155题—最小栈
  7. 千亿参数大模型首次被撬开:Meta复刻GPT-3“背刺”OpenAI,完整模型权重及训练代码全公布
  8. 汇编程序的格式和模板
  9. bochs安装linux系统,Ubuntu 10.04安装Bochs 2.4.5笔记
  10. Unity 之 制作翻牌效果