sql server中xml查询:for xml指定raw前言 在sql server中,xml查询可以指定raw,auto,explicit,path。本文用一些实例介绍sql server中指定raw的xml查询。 基础for xml查询 看实例: with testxml as ( select 1 as id,'leewhoeeuniversity' as name union
sql server中xml查询:for xml指定raw 前言
在sql server中,xml查询可以指定raw,auto,explicit,path。本文用一些实例介绍sql server中指定raw的xml查询。
基础for xml查询看实例:
with testxml
as
(
select 1 as id,'leewhoeeuniversity' as name
union all
select 2,'sqlserver中xml查询'
union all
select 3 ,'for xml'
)
select id,name from testxml for xml raw,type
运行后结果:
红色字体type可选,不会影响结果,只是影响数据类型。
指定 elements:with testxml
as
(
select 1 as id,n'leewhoeeuniversity' as name
union all
select 2,n'sqlserver中xml查询'
union all
select 3 ,null
)
select id,name from testxml for xml raw,elements
注意,第三行值改为null值进行测试。
结果:
1
leewhoeeuniversity
2
sqlserver中xml查询
3
元素name在第三行没有出现,,因为是null值。
但是我们可以用xsinil生成null值的name元素。
如:
with testxml
as
(
select 1 as id,n'leewhoeeuniversity' as name
union all
select 2,n'sqlserver中xml查询'
union all
select 3 ,null
)
select id,name from testxml for xml raw,elements xsinil
运行结果:
1
leewhoeeuniversity
2
sqlserver中xml查询
3
xmldata返回描述文档结构的 xml-data 架构。
如:
with testxml
as
(
select 1 as id,n'leewhoeeuniversity' as name
union all
select 2,n'sqlserver中xml查询'
union all
select 3 ,null
)
select id,name from testxml for xml raw,xmldata
结果:
通过指定 xmlschema 选项,您可以针对结果请求 xsd 架构:
with testxml
as
(
select 1 as id,n'leewhoeeuniversity' as name
union all
select 2,n'sqlserver中xml查询'
union all
select 3 ,null
)
select id,name from testxml for xml raw,xmlschema
结果:
您可以将目标命名空间 uri 指定为 for xml 中 xmlschema 的可选参数。
with testxml
as
(
select 1 as id,n'leewhoeeuniversity' as name
union all
select 2,n'sqlserver中xml查询'
union all
select 3 ,null
)
select id,name from testxml for xml raw,xmlschema ('urn:')
结果:
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!