将数据库表里的数据直接转为XML文件

来源:百度文库 编辑:神马文学网 时间:2024/04/28 15:57:56
2007年01月11日 星期四 13:15

/**
将ResultSet转化为XML文件
ResultSet怎么生成这里就不写了,我使用的是Oracle.JDBC
Types.DATE 不知道SQL Server里的类型叫什么
代码没有经测试
-------JoeCom 2006-12-01-------------
**/
public static void resultSetToString(ResultSet rs,StringBuffer sb)
{
/** xml document */
Document document = DocumentHelper.createDocument();
Element root = document.addElement("ROWDATA");
/** 用来转换日期格式 **/
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if (rs!=null)
{
try
{
while (rs.next())
{
Element row = root.addElement("ROW");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
for (int i = 0; i < columnCount; i++)
{
/** 所有字段都大写输出 **/
Element element = row.addElement(rsmd.getColumnName(i).toUpperCase());
if(rs.getObject(i) != null)
{
if (rsmd.getColumnType(i)==Types.DATE)
{
String dt = fmt.format(rs.getTimestamp(i));
element.setText(dt);
}else
{
/** 将所有值都转化为String **/
element.setText(String.valueOf(rs.getObject(i)));
}
}
else
{
element.setText("");
}
}
}
}catch (SQLException ex)
{
ex.printStackTrace();
}
}
/** 将document保存为本地xml文件 **/
doc2XmlFile(document,"d:/test/1.xml");
}