JSP生成XML

<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java"%>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<html>
<head>
<meta content="text/html; charset=gb2312" http-equiv="content-type">
</head>
<body>
<%
int i=0;
String temp=null;
String parCode = request.getParameter("code");
String strSql;
try{
Connection con;
Statement stmt;
ResultSet rs;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:oracle:thin:@192.168.15.248:1521:ycdb";
con=DriverManager.getConnection(url,"webcfcquery","kill859");
//out.println("<center>jdbc连接Oracle数据库</center><br><br>");
stmt=con.createStatement();
strSql = "select account_holder,description from account_holder ";
if(parCode!=null)
strSql += " where account_holder='"+ parCode +"'";
rs=stmt.executeQuery(strSql);
FileOutputStream fo=new FileOutputStream("/usr/local/tomcat/webapps/vehicles/treasurer_voucher.xml");
PrintStream so = new PrintStream(fo);
while(rs.next()){
String col1=rs.getString(1);
String col2=rs.getString(2);
try{
if(i==0){
so.println("<?xml version=\"1.0\" encoding=\"gb2312\" ?>");
so.println("<ufinterface roottag=\"voucher\" billtype=\"gl\" subtype=\"\" replace=\"Y\" receiver=\"1051\" sender=\"1101\" isexchange=\"Y\" filename=\"会计凭证.xml\">");
so.println("<voucher id=\"1234560102\">");


// 注意:这种写法在xml文件显示时会报错,不知道为什么? so.println("<custcode>"+col1+"</custcode>");
so.print("<custcode>");
if(col2==null) { //如果不判断对象col2是否为null值,那么在进行编码转换时可能会出现NullPointerException异常
so.print(col2);
} else { //因为前面已经定义xml文件的编码显示方式是gb2312,所以在将字符串col2写入xml之前需转换成gb2312,这样在xml文件中汉字才能正常显示。
byte[] temp_col = col2.getBytes("gb2312");
col2 = new String(temp_col);
so.print(col2);
}
so.println("</custcode>");

}
}catch(Exception e){
out.println(e.toString());
}
i++;
}
so.println("</voucher>");
so.println("</ufinterface>");
so.close();
}catch(Exception e){
out.println(e);
}
%>
</body>
</html>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值