使用XML进行数据存储与备份的实现(2)

xml|备份|数据

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 
$fields=mysql_list_fields("embed",$table,$con);
$j=0;
//$num_fields=mysql_field_name($fields,$j);
//echo $num_fields;
while ($j<mysql_num_fields($fields)){
$num_fields=mysql_field_name($fields,$j);
$filestr.="<".$num_fields.">";
$filestr.=$row[$j];
$filestr.="</".$num_fields.">";
$j++;}
$filestr.="</".$table.">";
}
$filestr.="</".$table."s>";
echo $filestr;
//以下是文件操作代码
$filename=$table.".xml";
$fp=fopen("$filename","w");
fwrite($fp,$filestr);
fclose($fp);
Echo "数据表".$table."已经备份成功!";?>
</body>
</html>

通过以上文件的操作就可以实现对数据库中选定的表格进行备份.

以上主要介绍了两中方式的通过XML备份数据库的操作方法,其实并不复杂,通过XML,我们可以备份各种各样的数据库,当然也可以通过相关的方法将备份的XML文档恢复到数据库中,这里就不详细描述了。

2、 在不同的数据库之间交换数据

XML的另外一个特性就是可以用于在不同的数据库中交换数据,就象上面描述的一样,我们可以将一个系统中的某种类型数据库文件用XML导出,然后到另外一个系统中的其他数据库中将数据进行导入就可以了,XML使得跨平台的不同数据库之间的数据交换变得更加方便。

如果我们要将Oracle中的数据发送给Sql Server?如果我们不使用XML,一切将非常复杂,而使用XML将Oqacle中的数据封装在一个XML文件中就可以被另外的数据库系统读入,如SQL Server.

3、 显示数据

由于XML本身只关注内容,因此对于显示数据,它自己本身并不能进行,XML的数据显示方式也特别多,可以通过CSS(Cascading Style Sheet),XSL(extensible Stylesheet Language)或者Data Binding(数据绑定)等多种方式来显示。

由于XML是数据和样式分离的,所以,我们可以按照我们自己的想象任意改变数据的显示格式而不用对XML文档进行任何操作,这一切将使数据边得更加的灵活和自由。

由于XML的显示详细描述起来比较复杂,这里就不详细介绍了。

4、 本身作为数据存储
其实我们刚才在介绍利用XML来备份数据库的时候忘了介绍一点,XML本身就可以用来进行数据的存储,其实在下面的情况里面使用XML来存储数据是非常好的。

信息数据比较复杂:
其实一个复杂的数据并不一定能够很好的通过数据库来显示,但可以很好的用XML来显示。比如一个书籍的记录,通常会有书的名字和作者,如果书的作者只有一个,可以非常方便的使用数据库来显示,但是如果一本书有两个、三个或者更多的作者了,这个时候,XML可以很轻松的解决
单独的字段复杂而庞大
同样对于刚才说的书的记录问题,如果我们要将书的每一章都放到数据库里面并不是能够很好的存储,数据库的每个字段等长,会浪费很大的空间.
数据类型和搜索速度并不重要
当然使用XML也有一定的问题,尽管XML的搜索已经进行了很大的优化,可是速度仍然很慢。而且XML中所有的数据是通过字符串来进行存储的,因此对于数据类型要求非常重要的数据而言,使用XML来存储也不是非常合适的。
数据库不大,但要可扩展
另外,由于XML良好的可扩展性,XML还适用于小型的而且需要不断进行修改的数据存储。

另外,如果你的系统有多个服务器和数据库系统,就可以使用XML了,XML可以轻松的将数据从Linux转移到Windows平台上。另外,还可以考虑将XML作为数据库做为长期存储的选择。

什么时候不用XML进行数据存储
通过前面的使用XML进行数据存储的对比,我们也应该知道什么时候不适合使用XML进行数据存储,如果我们对数据库的查询有很高的要求,XML是不适合的,另外如果存储数据的数据类型很重要的情况下,XML也是不适合的。

任何一项技术都有弊端,XML也有不适合的时候,但是它将挑起所有数据的处理和传输的重任,这也是XML诞生的一个重要原因。今后,我们会在更多的产品和应用中看到XML的存在,特别是在数据传输的时候。

周速华
联想集团嵌入式应用研发处软件工程师,主要研究兴趣是XML在技术下一代 WEB服务中的应用.可以通过 zhoush@legend.com与他联系.

时间: 2024-10-24 18:26:08

使用XML进行数据存储与备份的实现(2)的相关文章

使用XML进行数据存储与备份的实现(1)

xml|备份|数据 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  XML(eXtensible Markup Language,可扩展标记语言)作为一种数据标记语言正在不断引起人们的关注,XML的可扩展性已经受到了越来越多的人的关注,特别是在跨平台的数据交换当中,XML技术的运用可以轻松的解决这个问题.越来越多的企业宣布将在他们的产品中增加对XML的支持,Micro

关于ASP.NET的数据存储和备份

问题描述 用ASP.NET做的一个网站,要实现数据的存储和备份怎么弄,可以直接在SQL数据库上实现吗?? 解决方案 解决方案二:这是啥问题呀没读懂解决方案三:引用1楼hualilihua的回复: 这是啥问题呀没读懂 就是做的一个购物网站,里面一些用户的信息需要备份怎么弄解决方案四:怎样的备份?需求不明确撒--解决方案五:在服务器上建个作业.没天晚上定时备份.自动清理一个星期.或几天的前的数据就可以了...没有必要用程序去实现的...

IBM——TSM数据存储与备份的管理

TSM(Tivoli Storage Manager) 软件是IBM 存储管理经验的结晶.TSM 是为解决企业级数据及系统安全而设计的备份全面解决方案,为石油.金融.电信等许多大型企业,解决困扰信息技术部门的备份管理问题.它在节省成本的前提下向您提供有保证的.自动.简单而且灵活的服务.Tivoli TSM 的管理架构,真正适合企业管理级管理需求,为企业提供高效.自动.可扩展的备份管理体系. TSM应用案例 在机房内,我们将在一台机器 (IBM RS/6000 服务器 ) 上安装 Tivoli T

多元化低成本 戴尔为政府部门和教育部门提供数据存储与备份方案

无论是在电子政务领城,还是在教育信息化领城,存储需求都呈现出多元化发展的格局.经过加多年的建设.我国电子政务已经从最初的信息发布阶段,向更深层次的企业.市民与政府的交互阶段发展.为此,各级政府,特别是省.市两级政府,都将打破不同部门之间的"信息孤岛",促进各个系统之间的资源整合作为下一步工作的重点. 为了实现上述整合,必须在物理层面上解决各类数据资源的分散状态,建设大一统的数据中心,这就离不开大规模.高密度的存储设施.但是,数据中心的建设并不意味着原来的各系统.各部门不再需要自己的数据

云数据存储公司Code 42融资5250万美元

1月18日消息,国外媒体报道,在线数据备份公司Code 42 Software在最近一轮融资中筹得5250万美元,投资方包括Accel Partners和Split Rock Partners.这是Accel大规模数据基金作出的首笔主要投资,该基金主要投资于具有大规模数据要求的基础设施和应用公司.此次也是Code 42的首轮机构融资. 你可能没有听说过Code 42,但该公司应该值得你关注.Brian Bispala.Mitch Coopet 及Matthew Dornquast于2007年创立

RAID磁盘阵列让数据存储更加灵活

RAID磁盘阵列也称独立冗余磁盘阵列,它可以将多个硬盘串联成一个大容量硬盘,实现高速传输,也可以将两两硬盘互为镜像,实现数据安全备份功能.在这个无纸办公的年代,数据存储相对来说已经不陌生,传统的数据存储一般家庭或者个人都习惯将数据存储在本地电脑.手机或者移动硬盘.数据的爆发式增长,数据重要性.安全性,迫使个人.家庭.企业寻求容量更大,读写更快捷,存储更安全的数据存储方案. RAID0让数据飞速读写 以往大数据数据分享都是通过多种手动COPY到移动硬盘实现数据拷贝转移,这种数据转移不仅繁琐,需求人

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist)

一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有⾃己的应⽤沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应⽤必须待在⾃己的沙盒里,其他应用不能访问该沙盒(提示:在IOS8中已经开放访问) 应⽤沙盒的文件系

数据存储指南之存储备份技术

备份|数据 数据存储备份技术一般包含硬件技术及软件技术等,硬件技术主要是磁带机技术,软件技术主要是通用和专用备份软件技术等. 磁带机技术: 无论是硬盘技术,还是光盘技术,都不适合用来进行数据存储备份,只有磁带机技术才真正适合数据存储备份领域.事实上,磁带机技术长期以来一直是首选的唯一的数据存储备份技术,因为磁带介质不仅能提供高容量.高可靠性以及可管理性,而且价格比光盘.磁盘媒体便宜很多. 作为一种备份设备,磁带机技术也在不断发展.当前市场上的磁带机,按其记录方式来分,可归纳为二大类:一类是数据流

笔记 - Android - 5.数据存储和访问、XML等

Android -- 数据存储和访问: Android下的文件访问权限:     r:readable可读     w:writeable可写     x:可执行     Permissions(权限):         - --- --- ---     第一(位置0)表示文件或目录         > - 表示文件         > d 表示目录     第2~4(位置1~3)表示当前用户对文件所具有的权限     第5~7(位置4~6)表示当前用户所在组对文件所具有的权限     第8