数据库记录与XML数据转换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅谈数据库记录与XML数据的转换
摘要:xml作为一种保存信息和处理信息的标记语言,其语法的灵活性和真正的“扩展性”,使其能适应不同的数据类型,在intenet 数据传输与发布中发挥了越来越重要的作用。
本文主要讨论了在web开发中如何将数据库数据转换为xml文档。
关键词:xml;数据库;记录集对象;转换
中图分类号:tp311.13
xml是一个精简的sgml,它将sgml的丰富功能、html的易用性结合到web的应用中。
xml作为新一代的网络描述与传述语言,一经出现就表现出html所不具备独特优势:数据与格式相分离,良好的格式,dtd和schema两种验证机制。
而xml数据在很多方面都与传统的关系数据库和对象数据库有相似之处,通过一定的处理方式,可以将数据库记录导出至xml文档中,可以方便的在web中显示、添加、删除记录。
1 xml的优势
在实际应用中,将数据库记录转换为xml格式的数据是具有很多优势:第一,xml是一种纯字符的数据格式,具有数据描述简单,传递快速的特点;第二,xml具有无平台性,而数据库集合与记录集等对象通常都于特定的平台相关联,通过xml将多个数据源记录导入到一个xml文档中,方便的建立数据整合;第三,xml文档的树状数据结构可映射为传统的层次型数据库系统。
2 xml文档结构
在实际应用中,我们可以将xml文档分为两大类:数据为主的xml 文件和以文档为主的xml文件。
2.1 数据为主的xml文件。
由于xml文件具有开放性、易扩展性和丰富的显示样式(css、xsl等),以xml文档来存储数据在web 开发中应用越来越多。
如在电子商务中用来存储客户信息、或是在信息系统开发中存储学生成绩、销售清单、图书列表等。
例如存储学生信息,信息内容主要包括学号、姓名、性别、系部、专业等。
其对应的二维表关系如下表
其xml文档实例如下:
wl001
张梅
女
信息工程系
计算机网络技术
......
2.2 文档为主的xml文件。
主要是指存储了大量不规范结构与原始数据的文件或混合内容,如一首歌曲、一封电子邮件以用xhtml
文档等。
如:
dear mr.john smith.
your order 1032
will be shipped on 2009-07-13.
3 xml文档转换的方式
3.1 生成xml结点树方式,通过遍历数据源对象记录集和使用dom 建立一个xml结点树。
最后返回一个xml dom对象。
如:
3.2 直接生成xml字符串。
将数据库记录直接以xml标记代码的形式生成xml文件。
”+””;
objrecorderset.movefirst();
while (!rs.eof) {
strxml = strxml + “”;
strxml = strxml + “”
+ objrecorderset.fields.item(“id”).value;+””;
strxml = strxml + “”
+ objrecorderset.fields.item(“name”).value;+””;strxml = strxml + “”
+ objrecorderset.fields.item(“sex”).value;+””;
//...... 依次添加所有结点数据,省略
strxml = strxml + “”
objrecordetset.movenext();
}
strxml = strxml + “”;
bjrecordetset = null;
%>
4 小结
将数据库记录转换为xml文件应注意几个问题:一是xml不支持任何有意义的数据类型,所有xml文档中的数据都被当成文本来对待,虽然它能够用其它数据类型表示(如日期类型和整数类型);二是转换中对实体不做任何编码处理;三是在xml中,空元素或包含长度为0的属性可以认为是null,但数据库不是这样处理;四是xml支持unicode字符,但很多数据库并不支持,须选择其他的字符集。
参与文献:
[1]陈美霖.xml电视讲座培训教程[m].北京:清华大学出版社,2004.
[2]丁跃潮.xml实用教程[m].北京:机械工业出版社,2008.
[3]xml中国论坛.xml实用进阶[m].北京:清华大学出版社,2001. 作者简介:巨峰(1974.4-),男,安徽省铜陵市人,安徽工业职
业技术学院信息工程系教师,讲师,工程师,主要从事计算机专业网页设计方向的专业课程教学工作。
作者单位:安徽工业职业技术学院,安徽铜陵 244000。