生成XML工具

前端之家收集整理的这篇文章主要介绍了生成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

可部署工程在csdn免积分下载,地址:@L_403_1@。写得不好,别见笑。欢迎批评指教。

猜你在找的XML相关文章