java生成XML的方法【附demo源碼下載】
本文實例講述了java生成XML的方法。分享給大家供大家參考,具體如下:
下拉框的生成,我是通過javascript讀取xml文件生成的。Xml文件是根據(jù)數(shù)據(jù)庫生成的。Xml文件只相當(dāng)于頁面到數(shù)據(jù)庫的一道緩存。這樣利于性能。生成xml文件又是一件繁瑣的事情。只好交給機(jī)器去做了。真正的情景是程序定期自動或人為手動觸發(fā)程序生成xml。今天我單獨把xml文件生成的功能剝離出來寫了一個小程序。
具體的實現(xiàn)是,使用jxl.jar讀?。ㄎ页姓J(rèn)我很喜歡使用Execel寫配置)的SQL語句。SQL要指明哪些是名稱、哪些是代碼、哪些是父級代碼。Mybatis查詢數(shù)據(jù),拼裝報文寫入文件。這次寫了一個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>
* 修改記錄
* 修改后版本: 修改人: 修改日期: 修改內(nèi)容:
* </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 {
//拿到數(shù)據(jù)庫連接
inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession session = sqlSessionFactory.openSession();
//拿到查詢參數(shù)
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維護(hù),地址:https://github.com/ladykiller/xmlmaker。
完整實例代碼點擊此處本站下載。
PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
idea SpringBoot+Gradle環(huán)境配置到項目打包
Gradle是一個基于Java應(yīng)用的項目自動化構(gòu)建工具,本文介紹了在IDEA中創(chuàng)建Spring Boot Gradle項目,項目配置包括init.gradle和settings.gradle,感興趣的可以了解一下2024-11-11
SpringCloud客戶端報錯:- was unable to send&nb
這篇文章主要介紹了SpringCloud客戶端報錯:- was unable to send heartbeat!的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
windows下zookeeper配置java環(huán)境變量的方法
今天小編就為大家分享一篇關(guān)于windows下zookeeper配置java環(huán)境變量的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03

