SQL Server和XML的集成(1)

原创 2002年07月12日 09:03:00
SQL Server和XML的集成

作者: BUILDER.COM
Wednesday, June 19 2002 10:11 AM

XML可谓最新的数据存储解决方案了。XML相比HTML给予了Web开发人员更大的编程灵活性。这种新技术驱动开发机构尝试把XML同自己的产品集成起来。微软就是采取如此举措的先驱者。微软公司在开发Internet产品的时候一度慢慢腾腾,现在可就不同了。最近一位微软公司的高级职员就这样说:“你要给我们一刀,伤口里出来的尽是XML。”也许形容得有点过分,但事实确实是这样的:微软的几乎所有产品中都能看到XML的身影。举个例子:微软是如何在其SQL Server产品线中集成XML的呢?下面咱们就来看看关键的FOR XML子句。

以XML的名义获取信息
advert_mu_stat.gif
mpu_techmail.gif mpu_techmail.gif code;sz=1x1;ord=1851076511?

SQL Server和XML之间的集成首要一点就是根据SQL数据创建XML文件。XML文件的构造并不复杂,用简单的脚本和ADO记录集就可以轻松产生。这个任务虽然不算麻烦,但开发人员却需要针对他们从服务器获取的结果集合产生不同的脚本,或者编写更为复杂的通用脚本。SELECT 语句则由此而配备了新的FOR XML子句。

该子句的语法如下所示:
[ 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


执行后产生的结果如下:
<row OrderID="10248" OrderDate="1996-07-04T00:00:00" ProductID="11"/>
<row OrderID="10248" OrderDate="1996-07-04T00:00:00" ProductID="42"/>
<row OrderID="10248" OrderDate="1996-07-04T00:00:00" ProductID="72"/>


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


产生的结果如下所示:
<Orders OrderID="10248" OrderDate="1996-07-04T00:00:00">
<Order_x0020_Details ProductID="11"/>
<Order_x0020_Details ProductID="42"/>
<Order_x0020_Details ProductID="72"/>
</Orders>


EXPLICIT示例
Explicit模式给予查询编程人员对产生XML的完全控制能力。然而这种控制力度却要价不菲:你得编写每一查询以便SQL语句能包含XML信息。

有关的语法很复杂,而且超出了本文的讨论范围。[ , XMLDATA ] [ , ELEMENTS ] [ , BINARY BASE64 ] 是相应的可选参数。

SqlServer XML数据类型DML相关操作(图文结合)

XML操作很少用到,最近查询个语句,还得到官网查看用法。所以按照官方把相关的DML都操作一遍,作为记录!~ -- 测试数据 -- DROP TABLE #XMLTab CREATE T...
  • kk185800961
  • kk185800961
  • 2015年05月08日 00:28
  • 1437

sql server xml字段的操作

今天用到sql server 的xml字段,首先这个项目中的xml字段都存为了ntext字段,所以第一个操作 ntext 转化为 xml以下摘自http://blog.darkthread.net/b...
  • hliq5399
  • hliq5399
  • 2012年12月18日 17:19
  • 6246

SQL Server XML数据解析

DECLARE @ItemMessage XML DECLARE @ItemTable TABLE(ItemNumber INT PRIMARY KEY,ItemDescription NVARCH...
  • smartsmile2012
  • smartsmile2012
  • 2015年02月10日 17:45
  • 3758

SQL SERVER中XML查询:FOR XML指定PATH

在SQL SERVER中,XML查询可以指定RAW,AUTO,EXPLICIT,PATH。本文用一些实例介绍SQL SERVER中指定PATH的XML查询。...
  • lihui_830501
  • lihui_830501
  • 2014年04月20日 00:28
  • 2613

SQLServer For XML Path的运用

FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主...
  • xie_xiansheng
  • xie_xiansheng
  • 2017年04月28日 17:44
  • 625

SQL Server 中利用STUFF和FOR XML PATH()实现多行数据的拼接

有时候我们可能有将查询的结果
  • biaobiao1217
  • biaobiao1217
  • 2014年11月14日 16:16
  • 1015

SQL Query XML column.   SQL 查询 xml 字段

Work by Jianfei is licensed under a Creative Commons wei 3.0 Unported License.     1.  As we kne...
  • zencorn
  • zencorn
  • 2013年02月17日 09:49
  • 996

SQL Server 2005中三种插入XML数据的方法

我们知道SQL Server 2005中增加了XML类型,也就是说在创建表的时候可以指定某一列为XML类型,如:CREATE TABLE customers(  name VARCHAR(20) NO...
  • superlmj
  • superlmj
  • 2006年10月13日 13:43
  • 1243

SQL Server和XML的集成

 XML相比HTML给予了Web开发人员更大的编程灵活性。这种技术驱动开发机构尝试把XML同自己的产品集成起来。微软就是采取如此举措的先驱者。微软的几乎所有产品中都能看到XML的身影。举个例子:微软是...
  • rendaoyuan
  • rendaoyuan
  • 2009年09月21日 17:28
  • 147

SQL Server和XML的集成

SQL Server和XML的集成 XML可谓最新的数据存储解决方案了。XML相比HTML给予了Web开发人员更大的编程灵活性。这种新技术驱动开发机构尝试把XML同自己的产品集成起来。微软就是采取...
  • hejishan
  • hejishan
  • 2008年03月11日 12:21
  • 155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL Server和XML的集成(1)
举报原因:
原因补充:

(最多只允许输入30个字)