SQL Server 的For XML及sp_xml_preparedocument

下面摘自MS SQL 的帮助文档。

在 FOR 子句中指定 XML 模式的基本语法为:

FOR XML mode [, XMLDATA] [, ELEMENTS][, BINARY BASE64]

参数
XML mode

指定 XML 模式。XML 模式决定所得到的 XML 的形式。
mode 可以是 RAW、AUTO 或 EXPLICIT。

XMLDATA

指定应返回 XML-Data 架构。文档的架构被预先设计为内嵌式架构。

ELEMENTS

如果指定 ELEMENTS 选项,则列作为子元素返回。否则,列将映射到 XML 特性。只有在 AUTO 模式下才支持该选项。

BINARY BASE64

如果指定 BINARY Base64 选项,则查询所返回的任何二进制数据都用 base64 编码格式表示。使用 RAW 和 EXPLICIT 模式检索二进制数据时,必须指定该选项。在 AUTO 模式中,默认情况下将二进制数据作为引用返回。

一、 使用AUTO模式
 
 
 
SELECT Name,Pwd,Type
FROM Users
WHERE Type = 3 FOR XML AUTO
结果:
<Users Name="123" Pwd="123" Type="3" />
<Users Name=“www” Pwd=“www” Type=“3” />
AUTO模式中可以使用ELEMENTS选项,使用该选项可以生成以元素为中心的Xml表示,默认为属性方式,不过属性方式节省空间。
需要注意的是使用ELEMENTS选项是一种全是或全否的形式,不能得到一部分是以元素表示而另一部分以属性表示的Xml数据。
二、使用RAW模式
RAW模式中,不能使用ELEMENTS选项。
	  
  
  
SELECT Name,Pwd,Type
FROM Users
WHERE Type = 3 FOR XML RAW
结果:
<row Name="123" Pwd="123" Type="3" />
<
row Name=“www” Pwd=“www” Type=“3” />



三 使用sp_xml_preparedocument


语法
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl090966a28,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl09img,"; </script>
参数

hdoc



实例:
DECLARE @hDoc int
EXEC sp_xml_preparedocument @hDoc OUTPUT,@strXml
SELECT @Grade = GradeRes FROM OpenXml(@hDoc,'/Student/Count',1) WITH (GradeRes VARCHAR(30))

sp_xml_removedocument
删除文档句柄指定的 XML 文档的内部表示方式并使该文档句柄无效。
语法

sp_xml_removedocument hdoc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值