admin 管理员组文章数量: 1184232
2024年4月20日发(作者:变量与自变量的概念)
维普资讯
第28卷第2期
2007年2月
通化师范学院学报
JOURNAL OF TONGHUA TEACHERS COLLEGE
VlOI.28№2
Feb.2007
关系数据库转换成XML的编程思想及其实现
于江涛,魏旭华,孙金城
(通化师范学院计算机科学系,吉林通化134002)
摘要:本系统实现了关系数据库转换成可扩展标记语言XML的转换策略,并采用当前流行的JAVA技术,利用面向对象的
编程思想,应用Jbuilder2006集成开发工具软件进行设计和编程,具体设计实现了关系数据到XML的转换软件.
关键词:XML;关系数据;异构数据转换
中图分类号:TP311.5文献标识码:A文章编号:1008—7974(2007)02—0023—02
收稿日期:2006—10—20
基金项目:本文系吉林省教育厅教研立项“NIT的整体设计思想在实际教学中的探讨与实践”阶段成果.
作者简介:于江涛(1969一),男,吉林九台人,通化师范学院计算机系副教授,硕士,研究方向:计算机应用,
l 引言
目前,利用各种关系数据库存储永久性数据是
最为主要的方式,然而存放到各种数据库中的数据
只有通过专门的数据库软件,或进行编程才能够浏
览查看,这样当需要浏览数据库中的数据时,必须安
装相应的数据库产品或进行软件编程,给数据查看
带来了不便.随着Internet应用的广泛发展,网络间
数据的交换和表现形式出现多样化.可扩展标记语
言(XML)以其独特的简单性和自描述性使其成为
因特网上信息表示和交换的标准.为了使各种关系
数据库中的数据能够方便的进行浏览查看,有必要
将其转换为XML格式的文件,以方便数据的传送
和查看.因此,研发一种能够将关系数据转换为
XML格式数据的软件就变得特别重要,
(TableName—data.xm[).具体如图1:
图1关系表结构视图
2.2关系数据到XML数据的转换
(1)表结构文件生成策略
关系表名对应XML的根元素,关系表的字段
作为根元素的子元素,并将字段的类型和大小作为
字段元素的子元素.其结构如下:
< xml version= 1. enmding= gb2312
<S ̄TJDENT DbType="Oracle">
< r【 >
2 关系数据与Ⅺ、,IL转换软件的分析与设计
2,1关系数据与XML转换软件的分析
XML(eXtensible Markup Language,可扩展标记
语言)是由W3C(World Wide Web Consortium,互联
网联合组织)于1982年2月发布的一个标准,同
HTML一样是SGML(Standard Generalized Markup
>
<Type>VARCHAR2</Type>
<Size>12</Size>
< 兀 >
<NAM_E>
<Type>VARCHAR2</Type>
Language,标准通用标记语言)的一个简化子集.
XML文件是纯文本文件,可以用任何编辑器读取,
不受操作系统,软件平台的限制.XML是一种完全
<S ze>12</Size>
< AM匮>
t
<ADDRESS>
<Type>VARCHAR2</Type>
<Size>30</Size>
</ADDRESS>
<AGE>
<Type> ER</Type>
面向语义的标记语言,具有基于Schema自描述语义
的功能,容易描述数据的语义和结构,
关系数据即关系数据库中存储的二维表,由表
的结构(行、列)和与表结构相对应的数据组成.
根据关系数据的特点和XML数据的特性,设
计XML与关系数据的转换策略.进行转换时根据
关系表生成与之对应的两个XML文件,分别为表
结构文件(TableName—stru.xm1)和表数据文件
<Size>22</Size>
</,AGE>
</ 兀 lENT>
(2)表数据文件生成策略
关系表名对应XML的根元素,特设定<Record
・
23 ・
维普资讯
>做为根元素的子元素,关系表的字段做为<
Element filedType=new Element(”Type”);
Strig finledTypeValue=rand.getCohmmTypeName(i);
filedType.setText(filedTypeValue);Element filedSize=new Ele.
rn ̄t( Size");
int size=mmd.getColumnDisplaySize(i);
Strig finledSizeValue=Integer.toStrig(sinze);
filedSize.setText(filedSizeValue);
Strig finledNm ̄neValue=rand.getColumnName(i);
Element loot=new Elment(fieledNm ̄neValue);
loot.addContem(filedType);loot. ̄tdContent(filedSize);
Record>的子元素,字段的值作为对应元素的文本
值,内容如下:
<?xml version= 1.0 encoding= 'gb2312 ?>
< nⅡ)ENT>
<Record>
< rI NO>2oo311010129</ 兀,N0>
<NA~正:>孙金城</NAME>
< )RESS>河北省唐山市< DDRESS>
<AGE>24</AGE>
</Record>
</ 丌砸)ENT>
s ̄ument.getRootElernent().addContent(mot);}int i=0;
while(rset.next()){Elmeent elmeentO=new Element(”
Record”);//创建数据文档
for(i=1;i<=numbeaOfCohmms;i++){String d=rset.
getStrig(i);n
Elmente elment:newElemem(rsemd.getColunmName(i)).set.
Text(data);
3关系数据与Ⅺ L转换软件的实现
下面程序利用JAVA语言和数据库技术把关系
数据的结构和数据读取出来,生成对应的XML数
据文件,实现了关系数据到ⅪⅥL的转换.
private void tabToXml(String tabName,File xmlFile Strig sq1n){
ResultSet l'set=this.database1.createStatement().executeQuery
(sq1);/做据库查询
Document dataI ̄ument=new Document(new Element(tab.
Name));
ResultSetMetaData rsmd:rset.getMetaData();//获得表结构数
据
java.sq1.DatabaseMetaData dbMeta=this.database1.getMetaDa—
dementO.addContent(dement);}
dataDoeurnem.getRootElemem(). ̄ldContent(elmenteO);}
XMU)utputter outp=new XMLOutputter();
File stmFile:new File(xmlFile.getParem(),tabN ̄urne+ stru.
xmr,);
outp.output(s ̄
输出舭
输出舭
文档
文档
urnent,new FileOutputStream(st ̄ile));//
outp.output(clataDocument,new FileOutputStream(xmlFile));//
}}
ta();
dbType=dbMeta.getDatabaseProduetName();/ 得数据库类
型
4结束语
本软件采用目前流行的JAvA技术和面向对象
的编程思想,采用Jbuilder2006集成开发工具软件
进行设计和编程.本软件的应用使得关系数据的浏
览查看不用安装专门的数据库产品,降低了PC机
的软硬件需求,方便关系数据在网络中的传送,具有
较强的应用价值.
Attribute rootAttri=new Attirbute(”DbType”,dbType);
Elmente doe=new Elment(tabNaeme);
doe.setAttribute(rcotAttri);Document struDocument=new
Doeument(doe);
int numbeR)fColumns:rmd.getaColtmmCount();
for(int i=1;i<=numbeA)fColumns;i++){//按表结构创
建结构文档
参考文献
[1]林锦雀.最新XML入门与应用[M].北京:中国铁道出版社,2001.
[2]耿祥义.Java大学实用教, ̄[--M].北京:电子工业出版社,2005.
[3]刘建元,徐莲.Oracle7与客户/月疋务器计算机技术从入门到精i ̄t[M].北京:电子工业出版社,1996.
[4]赵法信.ADO技术及其在VisuaLc++环境下数据库编程中的应用[J].通化师范学院学报,2004(04)
[5]曹建英.VB.Net的So eket编程分析[J].通经师范学院学报,2oo5(O2).
Idea of Progranuning about Transformation from Relational
Database to XML and its Realization
YU Jiang—tao et al
(Department of Computer,To.gh Teachers College,Tonghua,Jilin 134002)
Abstract:This system realized the transformation strategies which transform relational database to XML,used the
currently popular 八technology,used the idea of object—orientd programmieng。carrid eon the de—
sign and programming using Jbuilder2006 integration development tool software,then concretely de—
signed the conversion software which transfoITn relational data to XML.
Key words:XML;relational data;isomerism data onvercsion
・
24・
版权声明:本文标题:关系数据库转换成XML的编程思想及其实现 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713595849a642516.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论