📄 createxmlsmiltxt.java
字号:
package mmspiccenter;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: hf</p> * @author unascribed * @version 1.0 */import java.util.*;public class CreateXmlSmilTxt extends Engine{ public String head = "<?xml version=\"1.0\" encoding=\"gb2312\"?><body>"; public String tail = "</body>"; public DBConnection db = null; public CreateXmlSmilTxt() { super("CreateXml"); setDaemon(true); db = new DBConnection(/*Config.db_name ,Config.db_host*/); } public void run(){ while(true){ if(Config.picV.getSize() > 0){ Pic pic = (Pic)Config.picV.pop(); String xmlName = pic.xmltitle+Utility.getDateString() +".xml" ; String xmlContent = getXmlContent(pic); String xmlUrl = pic.pic_url ; String sp_url = pic.sp_url ; String hour = pic.hour ; String period = pic.period ; //for 推荐彩信 s String title = "推荐彩信"; String pic_name = pic.xmltitle+Utility.getDateString()+hour+".png"; String mms_txt = pic.txt ; String mms_type = pic.mms_type_code ; //for 推荐彩信 e System.out.println(xmlContent); Utility.createXml(xmlUrl,xmlName,xmlContent,hour) ; Utility.createSmil(xmlUrl,xmlName,hour); Utility.createTxt(xmlUrl,xmlName,pic.txt,hour); String sp_xml_url = Utility.createSpXml(pic.base_url ,sp_url,xmlName,hour,pic.type_url); insertMmsContent(pic.service_code ,sp_xml_url,pic.sta_id ,pic.cityName ,pic.hour ,pic.period ,pic.mms_type_code); insertRecommandMms(pic.cityName ,pic.period ,Utility.Change("/"+pic.type_url +pic_name),title,mms_txt,mms_type); } try{ sleep(100); }catch(Exception e){ e.printStackTrace() ; } } } public String createLayerById(int id,String src,String isBackgroud,String x,String y, String transparency ){ String result = ""; result += "<layer id='"+String.valueOf(id)+"'><img src='"+src+"' isBackgroud='"+isBackgroud+"' x='"+x+"' y='"+y+"' transparency='"+transparency+"' /></layer>"; return result ; } public String getXmlContent(Pic pic){ String content = ""; String period = pic.period ; int picNum = 1 /*5天预报*/+pic.w1_url_v .size()*2 /*天气符号*/+pic.t1_url_v .size() /*摄氏度号*/; for(int i = 0;i<pic.t1_url_v .size() ;i++){ picNum += ((Vector)pic.t1_url_v .get(i)).size() ; } for(int i = 0;i<pic.t2_url_v .size() ;i++){ picNum += ((Vector)pic.t2_url_v .get(i)).size() ; } //生成xml //content += head; int i = 1; content += backgroud(i,pic.bg_url ); i++; content += weather(i,pic.w1_url_v ,pic.w2_url_v ,pic.w1_x_v ,pic.w1_y_v ,period); i+= pic.w1_url_v .size() +pic.w2_url_v .size(); content += temp(i,pic.t1_url_v ,pic.t2_url_v ,pic.t1_x_v ,pic.t1_y_v,period); int ii = getTempInt(pic.t1_url_v ,pic.t2_url_v ,pic.t1_x_v ,pic.t1_y_v); i += ii; content += tail; String tempS = head+"<layerNum>"+String.valueOf(i) +"</layerNum> "; tempS += content; return tempS; } public String backgroud(int i ,String src){ return createLayerById(i,src ,"true","0","0","0"); } public String weather(int i,Vector w1V,Vector w2V,Vector w1xV,Vector w1yV,String period){ String result = ""; System.out.println(w1V+"o"+w2V+"o"+w1xV+"o"+w1yV); if(period.equals("24") ){ for(int a = 0;a<w1V.size() ;a++){//开始天气 result += createLayerById(i++,(String)w1V.get(a),"false",(String)w1xV.get(a),(String)w1yV.get(a),"10"); } for(int a = 0;a<w2V.size() ;a++){//结束天气w=15h=22 result += createLayerById(i++,(String)w2V.get(a),"false",String.valueOf((Integer.parseInt((String)w1xV.get(a))+Config.w_width+15)),(String)w1yV.get(a),"10"); } }else if(period.equals("120")){ for(int a = 0;a<w1V.size() ;a++){//开始天气 result += createLayerById(i++,(String)w1V.get(a),"false",(String)w1xV.get(a),(String)w1yV.get(a),"10"); } for(int a = 0;a<w2V.size() ;a++){//结束天气w=15h=22 result += createLayerById(i++,(String)w2V.get(a),"false",String.valueOf((Integer.parseInt((String)w1xV.get(a))+Config.w_small_width+10)),(String)w1yV.get(a),"10"); } } return result; } public int getTempInt(Vector t1V,Vector t2V,Vector t1xV,Vector t1yV){ int result = 0; for(int a = 0;a<t1V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t1V.get(a); for(int b = 0;b<tempV.size() ;b++){ result ++; } result ++; } for(int a = 0;a<t2V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t2V.get(a); for(int b = 0;b<tempV.size() ;b++){ result ++; } result ++; } return result-1; } public String temp(int i,Vector t1V,Vector t2V,Vector t1xV,Vector t1yV,String period){ String result = ""; if(period.equals("24") ){ for(int a = 0;a<t1V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t1V.get(a); int x = 0; int y = 0; for(int b = 0;b<tempV.size() ;b++){ result += createLayerById(i++,(String)tempV.get(b),"false",String.valueOf(Integer.parseInt((String)t1xV.get(a))+(b*Config.t_width )),(String)t1yV.get(a),"10"); x = Integer.parseInt((String)t1xV.get(a))+Config.t_width*2; y = Integer.parseInt((String)t1yV.get(a)); } result += createLayerById(i++,"data\\c\\and.tga","false",String.valueOf(x),String.valueOf(y),"10"); } for(int a = 0;a<t2V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t2V.get(a); int x = 0; int y = 0; for(int b = 0;b<tempV.size() ;b++){ int c = ((Vector)t1V.get(a)).size() ; x = Config.t_width+Integer.parseInt((String)t1xV.get(a))+(c)*Config.t_width ; y = Integer.parseInt((String)t1yV.get(a)) ; result += createLayerById(i++,(String)tempV.get(b),"false",String.valueOf(x+(b*Config.t_width)),(String)t1yV.get(a),"10"); } result += createLayerById(i++,"data\\c\\wendu.tga","false",String.valueOf(x+Config.t_width*2),String.valueOf(y),"10"); } }else if(period.equals("120") ){ for(int a = 0;a<t1V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t1V.get(a); int x = 0; int y = 0; for(int b = 0;b<tempV.size() ;b++){ result += createLayerById(i++,(String)tempV.get(b),"false",String.valueOf(Integer.parseInt((String)t1xV.get(a))+(b*Config.t_small_width )),(String)t1yV.get(a),"10"); x = Integer.parseInt((String)t1xV.get(a))+Config.t_small_width*2; y = Integer.parseInt((String)t1yV.get(a)); } result += createLayerById(i++,"data\\c_small\\and.tga","false",String.valueOf(x),String.valueOf(y),"10"); } for(int a = 0;a<t2V.size() ;a++){ Vector tempV = new Vector(); tempV = (Vector)t2V.get(a); int x = 0; int y = 0; for(int b = 0;b<tempV.size() ;b++){ int c = ((Vector)t1V.get(a)).size() ; x = Config.t_width+Integer.parseInt((String)t1xV.get(a))+(c)*Config.t_small_width ; y = Integer.parseInt((String)t1yV.get(a)) ; result += createLayerById(i++,(String)tempV.get(b),"false",String.valueOf(x+(b*Config.t_small_width)),(String)t1yV.get(a),"10"); } result += createLayerById(i++,"data\\c_small\\wendu.tga","false",String.valueOf(x+Config.t_small_width*2),String.valueOf(y),"10"); } } return result; } public void insertMmsContent(String service_code,String xml_url, String sta_id,String cityName,String hour,String period,String mms_type){ String findTel = "select tel from stn where sta_id = '"+sta_id+"'"; Vector v = new Vector(); v = (Vector)db.execute(findTel) ; String tel = ""; if(v.size() >0){ tel = (String)((Vector)v.get(0)).get(0); } String sql = "insert into mms_content (service_code,xml_url,create_time,sta_id,city_name,hour_b_e,period,city_tel,mms_type)"+ "values('"+service_code+"','"+xml_url+"','"+Utility.getDateString() +"','"+sta_id+"','"+ cityName+"','"+hour+"','"+period+"','"+tel+"','"+mms_type+"')"; System.out.println("insertMmsContent : "+sql); db.executeUpdate(sql); } public void insertRecommandMms(String city_name,String period,String png_url,String title, String mms_txt,String mms_type){ String sql = Utility.RecommandMMSInsertSql(city_name,period,title,png_url,mms_txt,mms_type); stn s = new stn(); if(s.IsRecommand(city_name) ){ System.out.println(sql); db.executeUpdate(sql) ; } } public String gifName_pngName(String gifName){ String result = ""; return result; } public static void main(String[] args) { //CreateXml createXml1 = new CreateXml(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -