![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
|||||
| 把JDBC返回的ResultSet转化为XML形式 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-2 ![]() |
|||||
|
正在装载数据…… //XMLWriter.java /* * 创建日期 2005-7-16 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ package xmls; import java.sql.*; /** * @author adm * * TODO 要更改此生成的类型注释的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ public class XMLWriter { /** * @param ResultSet rs输入的结果集 * @return String 返回XML串 * @exception SQLException */ public String generateXML(final ResultSet rs) throws SQLException { final StringBuffer buffer = new StringBuffer(1024 * 4); if (rs == null) return ""; if (!rs.next()) return ""; buffer.append("<?xml version=\?.0\" encoding=\"UTF-8\"?>\n"); //XML的头部信息 buffer.append("<ResultSet>\n"); ResultSetMetaData rsmd = rs.getMetaData(); //得到结果集的定义结构 int colCount = rsmd.getColumnCount(); //得到列的总数 for (int id = 0; rs.next(); id++) { // 对放回的全部数据逐一处理 // 格式为row id , col name, col context buffer.append("\t<row id=\"").append(id).append("\">\n"); for (int i = 1; i <= colCount; i++) { int type = rsmd.getColumnType(i); //获取字段类型 buffer.append("\t\t<col name=\"" + rsmd.getColumnName(i) + "\">"); buffer.append(getvalue(rs, i, type)); buffer.append("</col>\n"); } buffer.append("\t</row>\n"); } buffer.append("</RowSet>"); rs.close(); return buffer.toString(); } /** * This method gets the value of the specified column * 通用的读取结果集某一列的值并转化为String表达 * @param ResultSet rs 输入的纪录集 * @param int colNum 第几列 * @param int type 数据类型 */ private String getvalue(final ResultSet rs, int colNum, int type) throws SQLException { switch (type) { case Types.ARRAY: case Types.BLOB: case Types.CLOB: case Types.DISTINCT: case Types.LONGVARBINARY: case Types.VARBINARY: case Types.BINARY: case Types.REF: case Types.STRUCT: return "undefined"; default: { Object value = rs.getObject(colNum); if (rs.wasNull() || (value == null)) return ("null"); else return (value.toString()); } } } } 调用的jsp: <%@ page contentType="text/html; charset=gb2312" import="java.sql.*"%> <jsp:useBean id="nn" scope="page" class="yule.Conn"/> <%@page import="xmls.*"%> <% ResultSet rs=null; String sql=null; XMLWriter xml=new XMLWriter(); sql = "select * from video"; rs=nn.executeQuery(sql); String cxmls =xml.generateXML(rs); out.println(cxmls); rs.close(); nn.close(); %> 本文来源:http://blog.csdn.net/yangm1203/archive/2007/07/16/1693395.aspx
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|