StringBuffer strSQL=new StringBuffer(); strSQL.append("select "); strSQL.append("B2.CLASS_NAME,B4.MCLASSNM,PlantCname,B4.MCLASSSNM,"); strSQL.append("BreedingCName,ApplyRepresentativesCName,ApplyAddressCName,ApplyTelephone,"); strSQL.append("ApplyFax,ApplyEmail,AnnounceNo,ApplyNo,OpenDate,CertificateNo,ApplyDate,"); strSQL.append("AnnounceDate,IssueDate,AcceptNo "); strSQL.append("from NP04_new as B4 left outer join np03 as B3 on B4.MCLASSNM=B3.MCLASSNM "); strSQL.append("left outer join NP02 as B2 on B3.CLASS_NO=B2.CLASS_NO and B2.NO='01' where 1=1 "); if(strDateFrom!=null&&!strDateFrom.trim().equals("")){ strSQL.append(" and B4.ApplyDate>=?"); strEve+=strDateFrom+","; } if(strEndDate!=null&&!strEndDate.trim().equals("")){ strSQL.append(" and B4.ApplyDate<=?"); strEve+=strEndDate+","; } //System.out.println(strSQL); //System.out.println(strEve);
public boolean getXMLFile(String strFolderPath,String strDateFrom,String strEndDate,javax.servlet.http.HttpServletResponse response){
ResultSet rs=null;
String strData="";
String strEve="";//
try{
// 建立新檔案夾(Folder)
String strFolderName=strFolderPath ;// 建立所要產生的xml檔
FileOutputStream fileout=new FileOutputStream(strFolderName);// 建立寫檔的object
OutputStreamWriter objOutWriter=new OutputStreamWriter(fileout,"Big5"); //使用BufferWrite方式
BufferedWriter objBuffWriter=new BufferedWriter(objOutWriter);// 建立檔案
objBuffWriter.write("<?xml version=" + "\"1.0\" " + "encoding=" + "\"Big5\" " +
"standalone=" + "\"yes\"?>\n");
objBuffWriter.write("<DATAs>\n");
StringBuffer strSQL=new StringBuffer();
strSQL.append("select ");
strSQL.append("B2.CLASS_NAME,B4.MCLASSNM,PlantCname,B4.MCLASSSNM,");
strSQL.append("BreedingCName,ApplyRepresentativesCName,ApplyAddressCName,ApplyTelephone,");
strSQL.append("ApplyFax,ApplyEmail,AnnounceNo,ApplyNo,OpenDate,CertificateNo,ApplyDate,");
strSQL.append("AnnounceDate,IssueDate,AcceptNo ");
strSQL.append("from NP04_new as B4 left outer join np03 as B3 on B4.MCLASSNM=B3.MCLASSNM ");
strSQL.append("left outer join NP02 as B2 on B3.CLASS_NO=B2.CLASS_NO and B2.NO='01' where 1=1 ");
if(strDateFrom!=null&&!strDateFrom.trim().equals("")){
strSQL.append(" and B4.ApplyDate>=?");
strEve+=strDateFrom+",";
}
if(strEndDate!=null&&!strEndDate.trim().equals("")){
strSQL.append(" and B4.ApplyDate<=?");
strEve+=strEndDate+",";
}
//System.out.println(strSQL);
//System.out.println(strEve);
//調用executeQuery執行SQL語句
rs=executeQuery(strSQL.toString(),strEve);
iCount=0;
//把查詢出來的每筆記錄串聯起來,以文件流的形式寫到文檔
while(rs.next()){
strData = "<A4 ";
//跑Columns的Loop
for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) {
strData += rs.getMetaData().getColumnName(j) + "='" +
tranNull(rs.getString(j)).trim() + "' ";
}
strData += "/>\n";
objBuffWriter.write(strData);
iCount++;
}
objBuffWriter.write("</DATAs>");
objBuffWriter.flush();
objBuffWriter.close();
return true;
}
catch(Exception e){
System.out.println("發生錯誤:DataToXML(getXMLFile)-轉換XML發生錯誤");
System.out.println("錯誤原因:"+e.toString());
return false;
}
}
希望對你有幫助