本文实例讲述了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();}}}

更多java生成XML的方法相关文章请关注PHP中文网!

更多相关文章

  1. java对XML文件的解析、节点的增加、删除操作总结
  2. java读取解析xml文件实例
  3. XML(3)XDocument与XmlDocument递归读取xml文件
  4. XML(5)序列化写入xml文件
  5. dom4j 操作xml文件(全)
  6. XML指南——察看 XML 文件
  7. vbs类天生xml文件

随机推荐

  1. Android实现程序前后台切换效果
  2. android中include标签的使用
  3. Android终于公布源代码
  4. android中悬浮显示可拖动的歌词栏
  5. Android 编程好书推荐
  6. coco2d-x android
  7. 常用的android权限配置和常用工具代码
  8. android 设置 永不休眠
  9. Android 使用Json实现服务器与客户端数据
  10. Android(安卓)Snippet