比较XML数据存取APIs(二)

日期: 2007-12-26 来源:TechTarget中国

  将数据转换成XML

  将ClientSideXml属性设置成True来实现这一步。你仍然用带有FOR XML子句的SELECT语句,但是当你将ClientSideXml设置为True时,在将语句传送到SQL Server前,托管类将FOR XML子句从SQL语句中去掉了。数据库不再看到FOR XML子句,可以更有效地将数据流返回给客户端。然后,SQL托管类在客户端将数据流转换成XML。

  通过调用ExecuteXmlReader方法来执行SELECT语句,该方法返回一个XmlReader对象。然后,你将XmlReader对象载入一个XmlDocument,并将产生的OuterXml返回给调用者。

  最后一个数据存取API是运用ADO 2.6和Visual Basic 6.0。通过打开一个新的VB6 ActiveX DLL项目来创建这个项目。重新命名Class1为ADO26,命名项目为DBXMLVS6。然后,给项目添加ActiveX Data Objects 2.6引用。一旦完成这一步,就给你的类添加ExecuteSelect方法(见列表3)。

  同所有其它例子一样,你先要创建并打开你的数据库连接。然后,创建新的Command对象,并给Connection对象设置其ActiveConnection属性。SELECT语句同ADO.NET例子中用的SELECT语句一样。

  图1. 看看哪种API最快

  将Execute方法的返回值设置给RecordSet对象。你需要创建一个ADO Stream对象将结果集转换成XML。将Stream的Type属性设置成adTypeText,并打开它。打开后,在你的结果集上调用Save方法,指明你想把结果集保存为XML。一旦XML在数据流中,用ReadText方法将它返回给调用者。

  通过创建简单的ASP和ASP.NET页面,调用组件并将XML返回给浏览器,我们就可以测试每种API实现的性能和可扩展性(在图1中可以看到结果,关于更详细的结果,请参考工具条“测试记录”。关于这些ASP和ASP.NET页面,请在此下载代码。)

  随着Microsoft不断增加新的功能并改进性能,XML数据存取APIs也在不断发展。因为未来的SQL Server版本将增加对XML的本地支持,而且APIs通过利用这些功能得以不断增强,所以API不断发展的这个趋势也将持续下去。然而,如今现有的APIs已经提供了强大的功能和性能组合,可以使你构建高性能的XML应用程序。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐