admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:bootstrap4垂直居中)

DATABASE AND INF0RMATION MANAGEMENT 数据库与信息管理 

基于XML数据库的应用研究 

郭江平 

(佛山职业技术学院,广东佛山528137) 

摘要:XML是连接Web与数据库的桥梁,针对B/S模型的Web数据库存在的不足,提出并构造了基于XML的 

Web数据库三层体系结构模型,重点介绍中间件的主要代码。 

关键词:HTML;XML;数据库;Web 

Application and Research about Database Base on XML 

GUO Jiangping 

(Foshan Polytechnic College,Guangdong Foshan 528137) 

Abstract:XML is the bridge between Web and database.According to B/S Web database system deficiencies,this paper 

proposes and structure based on the XML database Web three layer system structure models.And we will introduce the main 

codes about the important middleware. 

Key words:HTML;XML;Database;Web 

1 引言 

要用于信息查询,缺乏数据处理的功能,不易于对存储的数 

随着科技的进步,人们显然已经进入了电子信息化时代。 

据进行组织和管理。现在Web上可供查询的文档大部分是静 

万维网(wodd Wide Web)的迅速发展使得网络上的数据量 

态文档,限制了信息的表现能力,不能动态改变信息。B/S模 

迅速膨胀,可共享的数据资源越来越多,其中Web数据库的 

式体系结构将应用逻辑分布在众多相互链接的Web页面中, 

应用已日益成为网络数据库应用的主流。一直以来,人们对 

这使得系统的表示逻辑、应用逻辑和数据逻辑的划分不是很 

于HTML的网页习以为常,各大网页都以HTML形式展示给 

明确,系统的维护变成了对众多Web页面的维护,维护的工 

用户,HTML仿佛已经成为网上信息交流及其展现的标准格 

作量很大,而且当客户端数据较多,处理逻辑非常复杂时, 

式,尽管HTML在页面布局、浏览性等等方面有很大的优势, 

Web服务器的负担很重,容易形成瓶颈,难以适应大型应用 

但是它存在不利于不同机器之间的交互,语义识别困难,不 

系统的要求;同时Web服务器是传统B/S模型中关键而又比 

能满足非既定方式的数据库操作,这些都大大局限了网络数 

较薄弱的环节,这使得基于该模型的应用系统可伸缩性、稳 

据库的共享和开放。XML的出现,突破了传统HTML发展的 

定性、安全性都不是很好,也使得其很难与其他应用进行集 

瓶颈,可以弥补HTML的这些缺陷,XML可以任意自定义数 

成或整合。 

据格式,可以满足不同机器之间的信息交互。将成为全球信 

表1 HTML和XML的比较 

息传递和共享最具潜力的、可以逐步替代HTML的一种表现 

H1ML XML 

可扩展性 不具备扩展性 是原标记语言,可以用于定 

形式。 

义新的标记语言 

2 XML 

侧重点 侧重于如何表现信息 侧重于如何结构化的描述信息 

XML(Extensible Markup Language),即可扩展标记语言, 

可读性和维护性 难于阅读维护 结构清晰,便于阅读维护 

是通用标识语言标准的一个子集,是一种数据的组织和结构 

l数据和显示关系 内容描述和显示整合唯一 内容描述和显示相分离 

安排的一种表现形式和规范,是全球互联网联盟(wsc)正 

f支持浏览工具 一堆的编辑浏览工具 尚不成熟 

式推荐的下一代互联网标准,未来将很有可能取代HTML成 

将XML融入Web数据库体系结构中,构建基于XML的 

为网络上的主要的表示方式和交换媒介。 

Web数据库三层结构模型,可以解决传统Web数据库中遇到 

HTML和XML各有优缺点,如表1在可扩展性、侧重点、 

的一些问题,在这种结构中,数据库和客户端应用之间有一 

可读性和维护性、数据和现实关系、支持浏览工具等方面对 

个专门负责访问数据库和输出XML文档的中间环节。如图1 

HTML和XML进行的对比。目前XML的不足是可支持的浏览 

所示。 

工具较少,而HTML已经很成熟,有很多支持HTML的浏览 

4 应用 

工具,如IE。遨游等。 

根据上述所说的三层架构模式,介绍XML数据库在Web 

3 XML与Web数据库体系结构的结合 

中的应用。其关键点是XML和数据库之间的信息交换,主要 

所谓XML数据库,是一个能够在应用中管理XML数据 

和文档的数据库系统。是在传统意义上的Web数据库中,增 

作者简介:郭江平(1966一),男,教授,硕士,研究方向: 

加了XML的数据信息。XML数据库是结构化数据和半结构化 

计算机应用技术。 

数据的存储库。对于传统的B/S模式体系结构,通用浏览器主 

收稿日期:2012—02—10 

电脑编程技巧与维护 

有两点,一是如何将数据库中的数据提取出生成XML文件形 

式,二是如何将XML文件的数据信息写入数据库中。 

、 -_h●一 

————

/。 

——— 

Web 

aaBase Dat 流 生成xML 客户端 

’ … 

/ 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

_J 

图1 XML数据库体系结构 

4.1 XML导入数据库 

首先需要建立一个和XML结构类似的表,然后将XML 

文件中的信息读取出来,保存进表中。代码如下: 

private string connecfionString:SQLTest.Properties.Set~ 

tings.Default.FreeStudy ConnectionString; 

脏数据库中建立了一个空表,其结构与XML文档一致, 

private string selectString=”Select From English- 

Words”; 

//建立连接 

Sq1CeConnectiOn ceConnecfion = new SqlCeConnection 

(connecfionString); 

SqlCeDataAdapter ceAdapter=new SqlCeDataAdapter fse— 

lectString,ceConnection); 

ceAdapter.MissingSchemaAction=MissingSchemaAction. 

AddWithKey 

SqlCeCommandBuilder ceCommandBuilder=new Sql—— 

CeCommandBuilder(ceAdapter); 

ceCommandBuilder.GetUpdateCornmand 0; 

ceCommandBuilder.GetlnsertCommand 0; 

打开连接 

ceConnecfion.Open 0; 

//DataSet是可以读取XML的类 

DataSet dsSql=new DataSet 0; 

ceAdapter.FillSchema(dsSql,SchemaType.Source,”Eng— 

lishWords”); 

ceAdapter.Fill(dsSq1); 

DataSet dsXml=new DataSet 0; 

//xml读取,信息保存在dsXml中 

dsXm1.ReadXml(”WordS.xml”); 

,,关键点,进行两个数据集的合并 

dsSq1.Merge(dsXm1.Tables[.’EnglishWords”】); 

int intUp=ceAdapter.Update(dsSql,”EnglishWords”); 

dsSq1.AcceptChanges 0; 

4.2数据库中的信息导入XML 

,/连接数据库 

MYSQL my_mysql_open() 

{ 

//Connect to database 

mysql real connect(conn, server,user,password, 

database, 3306, NULL, CLIENT

MULTI

_

STATE— 

MENTS); 

return conn; 

} 

,/读取需要的数据 

与 

MYSQL_RES res; 

MYSQL_ROW row; 

char strMysqlPath[100】={0}; 

strcat(strMysqlPath,”select from atble where id= 10 ’); 

,/字符串拼接函数 

mysql

_

query(conn,strMysqlPath); 

res=mysql

store

__

result(conn); 

for(int j=0;j<mysql_num rows(res) ++) 

{ 

row=mysql

_

fetch

_

row(res); 

cout<<row【0】<<endl<<row【l】<<endl;//打印数据 

】 

,/读取数据拼成xml字符串,这方面建议看看xmlDom里 

//面的函数,百度搜索xmldom教程 

xmlSingleNode xmlNew=xmlNewNode(NULL, 

BAD

CAST+xmlElementText);,/仓0建xml节点 

XmlAttribute xmlNewAttr=xmlNewProp(XmlCurNode, 

BAD

_

CAST+xmlElementAttributeName.BAD

_

CAST+xm一 

1ElementAttributeValue);/,为某节点添加属性 

锵xml字符串通过10保存成xml文件 

xmlDocument Doc=xmlParseFile(xmlFilePath); 

/仂口载xml文件 

xmlSaveFile(filename,Doc); 

在从数据库中取得数据后,可直接根据取得的数据修改 

XML里的节点名及属性值,下面是几个重要的函数: 

,,仓0建新文档 

xmlDocument xmlNewDocument 0 

{ 

xmlDocument xm]New=xmlNewDoc f BAD

_

CAST” 1. 

0”); 

xmlNew一>encoding=(const xmlString)”uff-8”; 

return xmlNew; 

} 

//获取文档根节点 

xmlSingleNode xmlSingleNodeDocRoot=xmlDocGet—— 

RootElement(Doc); 

5 结语 

XML的迅速崛起,为传统Web数据库带来契机,应用了 

XML技术的机制同现有的传统机制比较,最重要的一点区别 

是各层间传输过程中数据流的XML化,把XML作为一种结构 

化信息交换的表示方法,负责所有与数据源的通信,根据最 

终用户的要求,聚集和组织从多个远程数据库服务器上获取 

数据,并用XML形式交互式地把数据源返回的信息传递给客 

户端的浏览器。 

参考文献 

【1]逯鹏.Native XML数据库技术综述.计算机科学,2004, 

(04). 

【2】秦杰.XML数据库技术研究.计算机科学,2003,(08). 

[3]万常选,刘云生.基于关系数据库的XML数据管理.计 

算机科学,2003,(08). 

【4】高明霞.一种XML Schema到关系数据库模式的转换算法 

及实现.计算机应用研究,2003,(06). 


本文标签: 数据库 信息 数据 应用 结构