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方法怎么高效统计关联模型数量

