应用JDOM处理数据库到XML转换JSP实现(2)

发表于:2007-07-14来源:作者:点击数: 标签:
应用JDOM处理数据库到XML转换JSP实现(2) 四、利用JDOM实现SQL SERVER 数据库到XML的转换 1、数据库、表的创建 这里应用一个转换顾客信息的例子??“顾客基本信息”。我们是把数据放置于 MI CROSOFT SQL SERVER 2000数据库中,然后运用JSP和JDOM技术动态生成
应用JDOM处理数据库到XML转换JSP实现(2)

四、利用JDOM实现SQL SERVER 数据库到XML的转换

1、数据库、表的创建

这里应用一个转换顾客信息的例子??“顾客基本信息”。我们是把数据放置于MICROSOFT SQL SERVER 2000数据库中,然后运用JSP和JDOM技术动态生成XML实例文档。

我们事先Microsoft SQL Server数据库CUSTOM中创建了一个数据表--CUSTOM,其数据结构如下表所示:

字段名
注释
类型
是否为空

Name
姓名
varchar(12)
NOT NULL

ID
ID
int
NOT NULL

Company
公司
varchar(30)
NOT NULL

Email
TEL
varchar(15)
NOT NULL



往数据库中输入以下几条记录:

Name
ID
Company
Email

刘氏
001
公司1
liu@yantai.com

蒋氏
002
公司2
jiang@yantai.net



2、数据源设置

数据源(ODBC Source)实际上就是定义数据的来源。数据源的设置方法是: [开始]-〉[设置]-〉[控制面板]-〉[管理工具]-〉[数据源(odbc)]-〉[System DSN]-〉[add]-〉[SQL Server],分别配置服务器名(CUSTOM所在服务器)、数据库名(CUSTOM)、数据源名称(此处定为DB_CUSTOM)、用户名(lgz)、用户口令(空),数据源就配置好了。
3、代码的编写

下面开始我们的编写JSP代码转换工作,代码将通过调用JDOM动态生成XML结构,然后借助JDBC访问SQL SERVER数据库动态填充XML内容。

〈%@page contentType="text/html;charset=GBK"%〉

〈HTML〉

〈HEAD〉

〈TITLE〉用JDOM实现数据库到XML的转换〈/TITLE〉

〈/HEAD〉

〈BODY〉

〈%@page import="org.jdom.*"%〉

〈%@page import="java.*"%〉

〈%

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://10.40.14.54:1433;DatabaseName=DB_CUSTOM";

//载入jdbc odbc的驱动程序

String user="lgz";

String password="lgz";

Connection conn= DriverManager.getConnection(url,user,password); //连接数据库

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

//创建一个statement

String sql="select * from client"; //定义查询的SQL语句

ResultSet rs=stmt.executeQuery(sql); //执行查询

Document document=new Document(new Element("联系人列表"));//创建文档

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(); //关闭statement

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〉



4、程序的运行

通过浏览器的8080端口运行该JSP,将产生预期的xml文件。

五、应用分析

XML作为数据交换的标准,得到了越来越广泛的应用。这篇文章阐明了数据库到XML转换的基本方法,从而使各异构平台以及各种格式的数据进行数据交换成为可能。当我们能够把原始的数据转化为XML格式化的形式,就能够以丰富的HTML的格式表示出来。这里列举两个方面的应用:

1、 XML应用服务器:

XML应用服务器实际上是支持XML的Web应用服务器,它们通常是模板驱动的,通过在一个剧本语言中嵌入使用SQL语句来提取数据并动态构建XML文档。

2、 基于XML的桌面应用

我们知道通过XSL可以把相同的数据以不同的数据形式提交给终端客户,一个XSL文件描述了数据的显示方式,你可以把许多XSL和同一个XML文档相连来提供不同的基于HTML的表示,这样事实上,我们就可以建立基于XML的桌面应用程序

采用这种方法主要有两个优点,首先,你可以以平台和语言独立的方式来操作数据,其次,不需要编程你就可以实现对同样数据的不同的视图表示。

(全文完)

原文转自:http://www.ltesting.net