| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 数据库 > SQL Server教程 > 文章正文 用户登录
免费5G/PHP/mysql
XMLSocket 渐进 (
Flash声音高级篇:
Java与flash的TCP
local shared对象
mx.utils 包 [1] 
mx.utils 包 [2] 
mx.utils 包 [3] 
mx.utils 包 [4] 
Flex-Jsp-Mysql简

SQL Server和XML的集成           

SQL Server和XML的集成

作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿
 XML可谓最新的数据存储解决方案了。XML相比HTML给予了Web开发人员更大的编程灵活
性。这种新技术驱动开发机构尝试把XML同自己的产品集成起来。微软就是采取如此举措的先
驱者。微软公司在开发Internet产品的时候一度慢慢腾腾,现在可就不同了。最近一位微软公
司的高级职员就这样说:“你要给我们一刀,伤口里出来的尽是XML。”也许形容得有点过分
,但事实确实是这样的:微软的几乎所有产品中都能看到XML的身影。举个例子:微软是如何
在其SQL Server产品线中集成XML的呢?下面咱们就来看看关键的FOR XML子句。
  以XML的名义获取信息
  
  SQL Server和XML之间的集成首要一点就是根据SQL数据创建XML文件。XML文件的构造并
不复杂,用简单的脚本和ADO记录集就可以轻松产生。这个任务虽然不算麻烦,但开发人员却
需要针对他们从服务器获取的结果集合产生不同的脚本,或者编写更为复杂的通用脚本。
  该子句的语法如下所示:
  [ FOR { XML { RAW | AUTO | EXPLICIT }
  [ , XMLDATA ]
  [ , ELEMENTS ]
  [ , BINARY BASE64 ] } ]
  FOR XML子句的XML模式由三种参数值表示:RAW、AUTO或者EXPLICIT。模式决定了结果
XML的形式和组成。下面我们就更深入些地通过以下示例了解以上各个XML选项。
  RAW示例
  我们执行以下的SQL语句:
  SET ROWCOUNT 3
  SELECT Orders.OrderID, Orders.OrderDate, ProductID
  FROM Orders, [Order Details]
  WHERE Orders.OrderID = [Order Details].OrderID
  ORDER BY Orders.OrderID
  FOR XML RAW
  执行后产生的结果如下:   
  
  
  AUTO示例
  我们执行以下的SQL语句:
  ‘结果限制为3条记录。
  SET ROWCOUNT 3
  SELECT Orders.OrderID, Orders.OrderDate, ProductID
  FROM Orders, [Order Details]
  WHERE Orders.OrderID = [Order Details].OrderID
  ORDER BY Orders.OrderID
  FOR XML AUTO
  产生的结果如下所示:   
  
  
  
  

  EXPLICIT示例
  Explicit模式给予查询编程人员对产生XML的完全控制能力。然而这种控制力度却要价不
  有关的语法很复杂,而且超出了本文的讨论范围。[ , XMLDATA ] [ , ELEMENTS ] [ ,
  可选元素
  
  示例可以让我们对各种设置的内部工作机理有更多的了解,下面我们就进一步研究下FOR
  如果你设置该选项,那么XML-Data schema就会包含在结果集合里。以下是SQL语句:
  SET ROWCOUNT 3
  SELECT Orders.OrderID, Orders.OrderDate, ProductID
  FROM Orders, [Order Details]
  WHERE Orders.OrderID = [Order Details].OrderID

  ORDER BY Orders.OrderID
  FOR XML AUTO, XMLDATA
  以上的SQL语句产生以下结果:   
  
  ELEMENTS
  ELEMENTS选项指示各数据列作为子元素而非属性返回。假如你采用AUTO模式就可以只采用
  BINARY BASE64
  使用该选项表示你希望采用base64编码格式表示二进制数据。
  采用XML子句的说法可就多了,你最好参考下SQL在线图书。
  在线指南
  SQL Server在线图书 对FOR XML子句的用法进行了阐述。而且还提到了在使用这一子句时
要注意的多项限制。比方说,FOR XML字句不能同视图定义或者COMPUTE BY子句合用。你不妨
  本文只是对FOR XML子句的简单说明,这里要提醒你的是这一部分不过是XML同SQL
Server集成需要注意的一点,其他方面的问题还包括IIS的OPENXML 函数和模版文件等。看来
真是这样,SQL Server的每个毛孔都滴着XML这种东西。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。