有关数据移植的jsp样本


<%
out.clear();
try {
writexml();
for (int ii = 0; ii < 20; ii++) {
out.println("********开始导出!********<br>");
out.println("********导出完毕!********<br>");
}
} catch (Exception e) {
LogWriter.message(".jsp 在写XML数据时出错!");
}
%>
<%!private static Convert c1 = new Convert();
private static String strAppID = "14";
//一个一维数组,里面存放标准xml的字段名
/* private static String[] colsname = {"信息标题","创建时间","副标题","引题",
"索引序号","链接标题","文章内容","信息顺序","信息公开信息","节点",
"组配分类","主题分类","体裁分类","服务对象分类","文号","发文日期",
"时效","政策解读标题","政策解读链接","废止日期","用户帐号","关键字","作者",
"来源","摘要","录入人","审核人","链接网址","评论","信息备注","发布单位",
"显示时间","主题分类ID","主题分类名称","体裁分类ID","体裁分类名称","信息类别编号","公开方式",
"文件编号","成文日期","公开时限","审核程序","是否政府信息公开类型信息","发布机构","vc_service","vc_area"};
*/private static String[] colsname = { "信息标题", "文号", "发布机构1", "成文日期1", "发布日期", "生效日期", "时效",
"组配分类", "主题分类", "审核人1", "创建时间", "文章内容", "用户帐号", "关键字", "作者", "来源", "摘要", "录入人", "审核人",
"链接网址", "截止日期", "评论", "信息备注", "索引号1", "是否公开发布", "体裁分类" };


//基础路径,即你存放xml的地址
private static String basicPath = "";
private static int infoCount = 0; //导出信息总数
private static int cataCount = 0; //有信息的栏目数
private static String cataInfo = ""; //有信息栏目的ID集合
private static String infoEachNum = ""; //有信息栏目的信息数
private static int totalPage = 0; //xml个数
private static int totalNum = 0; //信息总数
private static int eachPage = 500; //每个xml的信息条数
private static int xmlIndex = 0; //xml计数
private static int beginIndex = 0; //开始写的信息index 
private static int endIndex = 0; //结束信息index
private static String addpath = "";
private static String path = "";
private static String areaiiid = "";
private static String areannname = "";


public static void writexml() {


String bumencataSql = "select a.i_id,a.vc_webname from jcms_webinfomation a where a.i_id=3";
String bumencataSqlData[][] = Manager.doQuery(strAppID, bumencataSql);
if (bumencataSqlData != null && bumencataSqlData.length > 0) {
for (int ccc = 0; ccc < bumencataSqlData.length; ccc++) {
basicPath = "E://a//b//" + bumencataSqlData[ccc][1] + bumencataSqlData[ccc][0]
+ "//";
areaiiid = bumencataSqlData[ccc][0];
areannname = bumencataSqlData[ccc][1];


String cataSql = "SELECT a.i_id,a.vc_cataname from jcms_cataloginfo a where a.i_parentid in "
+ "(SELECT b.i_id from jcms_cataloginfo b where b.i_webid = "
+ bumencataSqlData[ccc][0]
+ " and b.vc_cataname='信息公开') "
+ "or a.i_id in (SELECT b.i_id from jcms_cataloginfo b where b.i_webid = "
+ bumencataSqlData[ccc][0] + " and b.vc_cataname='信息公开')";
String cataSqlData[][] = Manager.doQuery(strAppID, cataSql);
System.out.println("---------------cataSqlData[][]-----------------:"
+ Arrays.deepToString(cataSqlData));
if (cataSqlData != null && cataSqlData.length > 0) {
for (int c = 0; c < cataSqlData.length; c++) {
/* String infoSql="select "
+"a.vc_title,a.C_CREATEDATE,a.VC_SECTITLE,a.VC_THDTITLE,a.VC_INDEXCODE,a.VC_LINKTITLE,"
+"a.vc_content,a.I_INFOORDERNUMBER,'','','','','','',"
+"a.VC_FILENUMBER,a.C_COMPLATEDATE,a.C_TOPVALIDEND,'','',a.C_VALIDEND,"
+"a.VC_EDITOR,a.VC_KEYWORD,a.VC_AUTHOR,a.VC_SOURCE,a.VC_DESCRIBE,"
+"a.VC_EDITOR,a.VC_AUDITOR,a.VC_HREF,'',a.VC_MEMO,a.VC_FBJG,a.C_COMPLATEDATE,a.VC_ZTFLID,a.VC_ZTFLNAME,"
+"a.VC_SERVICEID,a.VC_SERVICENAME,a.VC_NUMBER,a.VC_OPENMODEL,a.VC_FILENUMBER,a.C_COMPLATEDATE,a.VC_OPENTIMELIMIT,"
+"a.VC_AUDITPROGRAM,a.B_XXGK,a.VC_FBJG,'',''"
+" ,a.i_webid from jcms_info a where a.B_DELETE = '0'  and a.I_CATAID = '"+cataSqlData[c][0]+"'";
*/String infoSql = "select "
+ "a.vc_title,a.vc_filenumber,a.vc_fbjg,a.C_COMPLATEDATE,a.C_COMPLATEDATE,"
+ "'',a.vc_thdtitle,'','','',"
+ "a.C_CREATEDATE,a.vc_content,a.VC_EDITOR,a.VC_KEYWORD,a.VC_AUTHOR,"
+ "a.VC_SOURCE,a.VC_DESCRIBE,a.VC_EDITOR,a.VC_AUDITOR,a.VC_HREF,"
+ "'','',a.VC_MEMO,'','','',''"
+ " from jcms_info a where a.B_DELETE = '0' and b_xxgk = 1 and a.I_CATAID = '"
+ cataSqlData[c][0] + "'";
System.out.println("---------------infoSql-----------------:" + infoSql);
String[][] strDatas = Manager.doQuery(strAppID, infoSql);
if (strDatas == null || strDatas.length == 0) {
continue;
}
System.out.println("**************infoSql**********" + infoSql);
System.out.println(cataSqlData[c][1] + ",开始导出,一共有" + strDatas.length
+ "条信息!");
infoCount += strDatas.length;
cataCount++;
//组织一下path
//cataSqlData[c][1]=cataSqlData[c][1].trim().replace("?","?").replace(" > ",">").replace("*","×");
String catapath = getPath(cataSqlData[c][0]);


System.out.println("-------------------catapath:" + catapath);
path = basicPath + catapath;
//循环处理内容部分
for (int i = 0; i < strDatas.length; i++) {
String path1 = "";
if (strDatas[i][11] != null && strDatas[i][11].length() > 0) {
String url = Convert.getValue(strDatas[i][11]);
String id1 = url.substring(0);
String id2 = "";
String id3 = "";
String id4 = "";
String id5 = "";


id2 = id1.substring(0, 4);
System.out.println("====id2====:" + id2);
id3 = id1.substring(5, 7);
System.out.println("======id3=========:" + id3);
if (!id3.matches("[0-9]+")) {
id3 = id1.substring(5, 8);
if (!id3.equals("zip")) {
id3 = id1.substring(5, 10);
id5 = strDatas[i][11].substring(11);
System.out.println("id31:" + id3);
} else {
id5 = strDatas[i][11].substring(9);
}


System.out.println("====id51====:" + id5);
path1 = "E:/work/123/web3/info/" + id2 + "/" + id3 + "/" + id5;
System.out.println("1-path1:" + path1);
} else {
id5 = strDatas[i][11].substring(11);
System.out.println("====id52====:" + id5);
id4 = id1.substring(8, 10);
System.out.println("====id42====:" + id4);
path1 = "E:/work/123/web3/info/" + id2 + "/" + id3 + "/" + id4
+ "/" + id5;
System.out.println("2-path1:" + path1);


}
strDatas[i][11] = getContent("3", strDatas[i][0], path1);
if (strDatas[i][11] != null && strDatas[i][11].length() > 0) {
strDatas[i][11] = strDatas[i][11]
.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
/* .replaceAll("&ldquo;", "“")
.replaceAll("&rdquo;", "”")
.replaceAll("&hellip;", "…")
.replaceAll("&mdash;", "—")
.replaceAll("&lsquo;", "‘")
.replaceAll("&rsquo;", "’")
.replaceAll("&permil;", "‰")
.replaceAll("&middot;", "·")
.replaceAll("&hellip;&hellip;","……")
.replaceAll("&amp;", "&")
.replaceAll("&lt;", "<")
.replaceAll("&gt;", ">")
.replaceAll("%2F", "/") */
.replaceAll("“", "&ldquo;").replaceAll("”", "&rdquo;")
.replaceAll("'", "&quot;").replaceAll("\"", "&quot;")
.replaceAll("…", "&hellip;").replaceAll("—", "&mdash;")
.replaceAll("‘", "&lsquo;").replaceAll("’", "&rsquo;")
.replaceAll("‰", "&permil;")
.replaceAll("·", "&middot;")
.replaceAll("……", "&hellip;&hellip;")
.replaceAll("&", "&amp;").replaceAll("<", "&lt;")
.replaceAll(">", "&gt;")
.replaceAll("&amp;quot;", "&quot;")
/* .replaceAll("PTimes", "P Times") */;
} else {
try {


String tpath = basicPath;
//写文件
Convert.createDirectory(tpath);
String filePat = tpath + "webID" + strDatas[i][10] + ".txt";
c1.writeByteStream(filePat, "".getBytes());
FileOutputStream fos = new FileOutputStream(filePat, true);
Writer writer = new OutputStreamWriter(fos, "gb2312");
String sb = "标题:" + strDatas[i][0] + ",路径:"
+ path1.replace("E:/a1/a2/", "") + ",没有正文!!!!"
+ "\n";


writer.write(sb.toString());
writer.flush();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
continue;
}
} else {
continue;
}


if (strDatas[i][6] != null && strDatas[i][6].length() > 0) {
String contentXmlPath = "E:/zhoufei/infoweb" + strDatas[i][6]
+ "/infoweb" + strDatas[i][6] + "/" + strDatas[i][6];
System.out.println("-------------------contentXmlPath"
+ contentXmlPath);
File file1111 = new File(contentXmlPath);
if (file1111.isFile() && file1111.exists()) {
try {
InputStreamReader inputstreamreader = new InputStreamReader(
new FileInputStream(file1111), "UTF-8");
String xmlContent = IOUtils.toString(inputstreamreader);
int startIndex = xmlContent.indexOf("<content>");
int endIndex = xmlContent.indexOf("</content>");
xmlContent = xmlContent.substring(startIndex + 9, endIndex);
strDatas[i][6] = xmlContent;
} catch (Exception ex) {
ex.getMessage();
}
}
}
if (strDatas[i][6] != null && strDatas[i][6].length() > 0) {
strDatas[i][6] = strDatas[i][6]
.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
.replace("\"", "'").replace("&", "&amp;")
.replace("<", "&lt;").replace(">", "&gt;")
.replace("'", "&apos;").replace("\"", "&quot;")
.replaceAll("&amp;quot;", "&quot;")
/* .replaceAll("PTimes", "P Times") */;
}
if (strDatas[i][8] != null && strDatas[i][8].length() > 0) {
strDatas[i][8] = strDatas[i][8]
.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
.replace("\"", "'").replace("&", "&amp;")
.replace("<", "&lt;").replace(">", "&gt;")
.replace("'", "&apos;").replace("\"", "&quot;")
.replaceAll("&amp;quot;", "&quot;")
/* .replaceAll("PTimes", "P Times") */;
}
if (strDatas[i][0] != null && strDatas[i][0].length() > 0) {
strDatas[i][0] = strDatas[i][0]
.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")
.replace("\"", "'").replace("&", "&amp;")
.replace("<", "&lt;").replace(">", "&gt;")
.replace("'", "&apos;").replace("\"", "&quot;")
.replaceAll("&amp;quot;", "&quot;")
/* .replaceAll("PTimes", "P Times") */;
}
}


totalNum = strDatas.length;
System.out.println("totalNum=" + totalNum);
if (totalNum % eachPage == 0) {
totalPage = totalNum / eachPage;
} else {
totalPage = totalNum / eachPage + 1;
}


try {
for (xmlIndex = 0; xmlIndex < totalPage; xmlIndex++) {


beginIndex = xmlIndex * eachPage;
endIndex = (xmlIndex + 1) * eachPage > strDatas.length ? strDatas.length
: (xmlIndex + 1) * eachPage;
System.out.println("beginIndex=" + beginIndex);
System.out.println("endIndex=" + endIndex);
StringBuffer sb = new StringBuffer();
sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "\r\n");
sb.append("<book>" + "\r\n");
sb.append("    <edition>1.0</edition>" + "\r\n"
+ "    <copyright>大汉网络</copyright>" + "\r\n");
for (int ii = beginIndex; ii < endIndex; ii++) {


sb.append("    <article>" + "\r\n");


for (int j = 0; j < colsname.length; j++) {
if (strDatas[ii][j] != null && strDatas[ii][j].length() > 0) {
sb.append("        <field " + "vc_name=\""
+ Convert.getValue(colsname[j] + "\"")
+ " vc_value=\""
+ Convert.getValue(strDatas[ii][j] + "\"")
+ ">");
sb.append("</" + "field" + ">" + "\r\n");
} else {


sb.append("        <field " + "vc_name=\""
+ Convert.getValue(colsname[j] + "\"")
+ " vc_value=\"\"" + ">");
sb.append("</" + "field" + ">" + "\r\n");


}
}
sb.append("    </article>" + "\r\n");


}


sb.append("</book>");
//写文件
Convert.createDirectory(path);
String filePath = path + xmlIndex + ".xml";
c1.writeByteStream(filePath, "".getBytes());
FileOutputStream fos = new FileOutputStream(filePath, false);
Writer writer = new OutputStreamWriter(fos, "UTF-8");
writer.write(sb.toString());
sb.delete(0, sb.length());
writer.flush();
writer.close();
}
} catch (Exception e) {
e.printStackTrace();
}
//}
}


}


System.out.println("==============一共导出" + cataCount + "个栏目==================");
System.out.println("==============一共" + infoCount + "条信息==================");
System.out.println(cataInfo);
System.out.println(infoEachNum);
}
}
}


/**
* 时间戳转日期
* @param calendar
* @return Date
*/
public static String TimeStamp2Date(String timestampString) {
Long timestamp = Long.parseLong(timestampString) * 1000;
String date = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
.format(new java.util.Date(timestamp));
return date;
}


/**
* 写出xml文件路径
* @param cataId
* @return path
*/
public static String getPath(String cataId) {
System.out.println("cataId:" + cataId);
String path = "";
//一级栏目
String sql1 = "SELECT i_id,vc_cataname from jcms_cataloginfo  where vc_cataname = '信息公开'";
String[][] cata1 = Manager.doQuery(strAppID, sql1);
for (int m1 = 0; m1 < cata1.length; m1++) {
if (cataId.equals(cata1[m1][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/";
System.out.println("path1:" + path);
return path;
} else {
//二级栏目
String sql2 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"
+ cata1[m1][0] + "'";
String[][] cata2 = Manager.doQuery(strAppID, sql2);
for (int m2 = 0; m2 < cata2.length; m2++) {
if (cataId.equals(cata2[m2][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1] + cata2[m2][0]
+ "/";
System.out.println("path2:" + path);
return path;
} else {
//三级栏目
String sql3 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"
+ cata2[m2][0] + "'";
String[][] cata3 = Manager.doQuery(strAppID, sql3);
for (int m3 = 0; m3 < cata3.length; m3++) {
if (cataId.equals(cata3[m3][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1]
+ cata2[m2][0] + "/" + cata3[m3][1] + cata3[m3][0] + "/";
System.out.println("path3:" + path);
return path;
} else {
//四级栏目
String sql4 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID ='"
+ cata3[m3][0] + "'";
String[][] cata4 = Manager.doQuery(strAppID, sql4);
for (int m4 = 0; m4 < cata4.length; m4++) {
if (cataId.equals(cata4[m4][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/" + cata2[m2][1]
+ cata2[m2][0] + "/" + cata3[m3][1] + cata3[m3][0]
+ "/" + cata4[m4][1] + cata4[m4][0] + "/";
System.out.println("path4:" + path);
return path;
} else {
String sql5 = "SELECT i_id,vc_cataname from jcms_cataloginfo where I_PARENTID='"
+ cata4[m4][0] + "'";
String[][] cata5 = Manager.doQuery(strAppID, sql5);
for (int m5 = 0; m5 < cata5.length; m5++) {
if (cataId.equals(cata5[m5][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/"
+ cata2[m2][1] + cata2[m2][0] + "/"
+ cata3[m3][1] + cata3[m3][0] + "/"
+ cata4[m4][1] + cata4[m4][0] + "/"
+ cata5[m5][1] + cata5[m5][0] + "/";
System.out.println("path5:" + path);
return path;
} else {


String sql6 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"
+ cata5[m5][0] + "'";
String[][] cata6 = Manager.doQuery(strAppID, sql6);
for (int m6 = 0; m6 < cata6.length; m6++) {
if (cataId.equals(cata6[m6][0])) {
path = cata1[m1][1] + cata1[m1][0] + "/"
+ cata2[m2][1] + cata2[m2][0] + "/"
+ cata3[m3][1] + cata3[m3][0] + "/"
+ cata4[m4][1] + cata4[m4][0] + "/"
+ cata5[m5][1] + cata5[m5][0] + "/"
+ cata6[m6][1] + cata6[m6][0] + "/";
System.out.println("path6:" + path);
return path;
} else {


String sql7 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"
+ cata6[m6][0] + "'";
String[][] cata7 = Manager.doQuery(
strAppID, sql7);
for (int m7 = 0; m7 < cata7.length; m7++) {
if (cataId.equals(cata7[m7][0])) {
path = cata1[m1][1] + cata1[m1][0]
+ "/" + cata2[m2][1] + "/"
+ cata3[m3][1] + "/"
+ cata4[m4][1] + "/"
+ cata5[m5][1] + "/"
+ cata6[m6][1] + "/"
+ cata7[m7][1] + "/";
System.out.println("path7:" + path);
return path;
} else {


String sql8 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"
+ cata7[m7][0] + "'";
String[][] cata8 = Manager.doQuery(
strAppID, sql8);
for (int m8 = 0; m8 < cata8.length; m8++) {
if (cataId.equals(cata8[m8][0])) {
path = cata1[m1][1]
+ cata1[m1][0]
+ "/"
+ cata2[m2][1]
+ "/"
+ cata3[m3][1]
+ "/"
+ cata4[m4][1]
+ "/"
+ cata5[m5][1]
+ "/"
+ cata6[m6][1]
+ "/"
+ cata7[m7][1]
+ "/"
+ cata8[m8][1]
+ "/";
System.out.println("path8:"
+ path);
return path;
} else {


String sql9 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"
+ cata8[m8][0]
+ "'";
String[][] cata9 = Manager
.doQuery(strAppID,
sql9);
for (int m9 = 0; m9 < cata9.length; m9++) {
if (cataId
.equals(cata9[m9][0])) {
path = cata1[m1][1]
+ cata1[m1][0]
+ "/"
+ cata2[m2][1]
+ "/"
+ cata3[m3][1]
+ "/"
+ cata4[m4][1]
+ "/"
+ cata5[m5][1]
+ "/"
+ cata6[m6][1]
+ "/"
+ cata7[m7][1]
+ "/"
+ cata8[m8][1]
+ "/"
+ cata9[m9][1]
+ "/";
System.out
.println("path9:"
+ path);
return path;
} else {
String sql10 = "SELECT I_ID,VC_CATANAME from JCMS_CATALOGINFO where I_PARENTID='"
+ cata9[m9][0]
+ "'";
String[][] cata10 = Manager
.doQuery(
strAppID,
sql10);
for (int m10 = 0; m10 < cata10.length; m10++) {
if (cataId
.equals(cata10[m10][0])) {
path = cata1[m1][1]
+ "/"
+ cata2[m2][1]
+ "/"
+ cata3[m3][1]
+ "/"
+ cata4[m4][1]
+ "/"
+ cata5[m5][1]
+ "/"
+ cata6[m6][1]
+ "/"
+ cata7[m7][1]
+ "/"
+ cata8[m8][1]
+ "/"
+ cata9[m9][1]
+ "/"
+ cata10[m10][1]
+ "/";
System.out
.println("path10:"
+ path);
return path;
} else {
return "加栏目/";
}
}


}
}
}
}
}
}
}
}


}
}
}
}
}
}
}
}
}
}
return path;
}


public static String getContent(String webid, String bt, String url) {
String content = "";
File file = new File(url);
if (file.isFile() && file.exists()) {
try {
InputStreamReader reader = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader read = new BufferedReader(reader);
int index = -1;
while ((index = read.read()) != -1) {
content += (char) index;
}
read.close();
reader.close();
} catch (Exception ex) {
ex.getMessage();
}


} else {
try {


String tpath = basicPath;
//写文件
Convert.createDirectory(tpath);
String filePat = tpath + "webID" + webid + ".txt";
c1.writeByteStream(filePat, "".getBytes());
FileOutputStream fos = new FileOutputStream(filePat, true);
Writer writer = new OutputStreamWriter(fos, "gb2312");
String sb = "标题:" + bt + ",路径:" + url.replace("E:/work/常德市子站/", "") + ",文件不存在!!!!!"
+ "\n";


writer.write(sb.toString());
writer.flush();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("文件不存在!!!!!");
}
if (content != null && content.length() > 0 && content.indexOf("<![CDATA[<content>") != -1
&& content.indexOf("</content>]]>") != -1) {
String start = "<![CDATA[<content>";
String end = "</content>]]>";
content = content.substring(content.indexOf(start) + start.length(),
content.indexOf(end));
}
return content;
}%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值