当前位置:首页 > PHP教程 > PHP总结归纳

SQLSERVER中XML查询:FORXML指定RAW

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和xmlschema

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


结果:











xml schema

通过指定 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:)!