java生成XML的方法【附demo源码下载】

发布时间 - 2026-01-10 22:04:09    点击率:

本文实例讲述了java生成XML的方法。分享给大家供大家参考,具体如下:

下拉框的生成,我是通过javascript读取xml文件生成的。Xml文件是根据数据库生成的。Xml文件只相当于页面到数据库的一道缓存。这样利于性能。生成xml文件又是一件繁琐的事情。只好交给机器去做了。真正的情景是程序定期自动或人为手动触发程序生成xml。今天我单独把xml文件生成的功能剥离出来写了一个小程序。

具体的实现是,使用jxl.jar读取(我承认我很喜欢使用Execel写配置)的SQL语句。SQL要指明哪些是名称、哪些是代码、哪些是父级代码。Mybatis查询数据,拼装报文写入文件。这次写了一个jar包程序。运行前请自备jre。

核心代码:XmlCreateService.java

package com.fitweber.service;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.fitweber.util.CommonUtils;
import com.fitweber.util.ExecelUtils;
/**
 * <pre>
 * XML文件生成器
 * </pre>
 * @author wheatmark hajima11@163.com
 * @version 1.00.00
 * <pre>
 * 修改记录
 * 修改后版本:  修改人: 修改日期:  修改内容:
 * </pre>
 */
public class XmlCreateService {
@SuppressWarnings({ "rawtypes", "unused", "unchecked" })
public static void main(String[] argc){
String resource = "META-INF/conf/mybatis-config.xml";
String root = "";
InputStream inputStream;
try {
//拿到数据库连接
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
//拿到查询参数
List requestList = ExecelUtils.readExecelSimple("xmlmaker.xls");
//定义变量
int i,j,listSize;
String filename,sqlstament,temp;;
HashMap requestMap = new HashMap();
Map map;
StringBuffer buf = new StringBuffer();
for(Object l:requestList){
List list = (List)l;
listSize = list.size();
filename =(String)list.get(1);
sqlstament =(String)list.get(2);
requestMap.put("sql", sqlstament);
List result = session.selectList("com.fitweber.dao.XmlCreateDao.xmlDataQuery",requestMap);
for(Object r:result){
buf.append("<option>");
map=(Map)r;
temp = (String) map.get("DM");
if(temp!=null){
buf.append("<dm>"+temp+"</dm>");
}
temp = (String) map.get("MC");
if(temp!=null){
buf.append("<mc>"+temp+"</mc>");
}
temp = (String) map.get("PC");
if(temp!=null){
buf.append("<pc>"+temp+"</pc>");
}
temp = (String) map.get("ITEM");
if(temp!=null){
buf.append("<item>"+temp+"</item>");
}
buf.append("</option>");
}
CommonUtils.saveFile(null, (System.getProperty("user.dir")+"\\xml\\").replace("\\", "/")+filename, ("<?xml version=\"1.0\" encoding=\"utf-8\" ?><root><select>"+buf.toString()+"</select></root>"),false);
buf.setLength(0);
}
session.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

完整的源码在github维护,地址:https://github.com/ladykiller/xmlmaker。

完整实例代码点击此处本站下载

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools./code/xmljson

在线格式化XML/在线压缩XML:
http://tools./code/xmlformat

XML在线压缩/格式化工具:
http://tools./code/xml_format_compress

XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat

希望本文所述对大家java程序设计有所帮助。


# java  # 生成  # XML  # java IO流 之 输出流 OutputString()的使用  # java IO流 之 输入流 InputString()的使用  # Java关于IO流的全面介绍  # Java IO流 文件传输基础  # Java基于IO流读取文件的方法  # java IO流文件的读写具体实例  # Java 数据库连接池详解及简单实例  # Java中的泛型方法详解及简单实例  # java HashMap和HashTable的区别详解  # java的Arrays工具类实战  # java字符串抉择  # Java 使用IO流实现大文件的分割与合并实例详解  # 写了  # 我是  # 又是  # 给大家  # 去做  # 点击此处  # 所述  # 我很喜欢  # 几款  # 程序设计  # 前请  # 转换工具  # 再为  # 下拉框  # 讲述了  # lt  # gt  # CommonUtils  # ExecelUtils  # author 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Bootstrap CSS布局之列表  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  开心动漫网站制作软件下载,十分开心动画为何停播?  javascript中的try catch异常捕获机制用法分析  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  文字头像制作网站推荐软件,醒图能自动配文字吗?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何实现建站之星域名转发设置?  如何获取PHP WAP自助建站系统源码?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  如何快速重置建站主机并恢复默认配置?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何在阿里云香港服务器快速搭建网站?  大型企业网站制作流程,做网站需要注册公司吗?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何为不同团队 ID 动态生成多个非值班状态按钮  微信小程序 配置文件详细介绍  再谈Python中的字符串与字符编码(推荐)  详解vue.js组件化开发实践  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  微信小程序制作网站有哪些,微信小程序需要做网站吗?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  如何快速查询网址的建站时间与历史轨迹?  装修招标网站设计制作流程,装修招标流程?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  原生JS获取元素集合的子元素宽度实例  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel如何使用Blade模板引擎?(完整语法和示例)  如何快速辨别茅台真假?关键步骤解析  ,交易猫的商品怎么发布到网站上去?  如何用AWS免费套餐快速搭建高效网站?  Laravel如何使用Collections进行数据处理?(实用方法示例)  成都网站制作公司哪家好,四川省职工服务网是做什么用?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel中的withCount方法怎么高效统计关联模型数量