如何对生成的xml设为gb2312编码
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="org.jdom.*"%>
<%@page import="org.jdom.output.*"%>
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%@page import="org.jdom.transform.*"%>
<%@page import="javax.xml.transform.*"%>
<HTML>
<HEAD>
<TITLE>用JDOM实现数据库到XML的转换</TITLE>
</HEAD>
<BODY>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String user="sa";
String password="781213";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql="select * from custom";
ResultSet rs=stmt.executeQuery(sql);
Document document=new Document(new Element("联系人列表"));//创建文档
//将xml设成gb2312
Transformer trans = TransformerFactory.newInstance().newTransformer();
trans.setOutputProperty("encoding","gb2312");
//ProcessingInstruction pi=new ProcessingInstruction("xml-stylesheet","href=\"pages.xsl\" type=\"text/xsl\"");
//document.addContent(pi);
ResultSetMetaData rsmd = rs.getMetaData(); //获取字段名
int numberOfColumns = rsmd.getColumnCount(); //获取字段数
int i=0;
while(rs.next())
{ //将查询结果取出
Element element0=new Element("联系人"); //创建元素 生成JDOM树
document.getRootElement().addContent(element0);
for (i=1; i<=numberOfColumns;i++)
{
String date=new String(rs.getString(i).getBytes("ISO-8859-1"),"gb2312"); //代码转换
Element element=new Element(rsmd.getColumnName(i)).setText(date);
element0.addContent(element);
}
}
rs.close();
stmt.close();
conn.close();
XMLOutputter outp = new XMLOutputter();
outp.output(document, new FileOutputStream("d:\\data.xml")); //输出XML文档
out.print("XML 文档生成完毕!");
%>
<a href="file:///d|/data.xml">点击打开产生的XML文档 </a>
</BODY>
</HTML>