Sql Server 之 for xml (path,raw,auto,root)

时间:2022-05-27 11:33:33

1、for xml path('str')

select ID,CreateTime  from dbo.ArticleInfo for xml Path('mytitle')

结果:(注意:如果是select ID,CreateTime from dbo.ArticleInfo for xml path下面的结果中<mytitle>就变为默认的<row>)

<mytitle>
<ID>4</ID>
<CreateTime>2015-02-03T10:44:15.857</CreateTime>
</mytitle>
<mytitle>
<ID>5</ID>
<CreateTime>2015-02-03T14:04:45.093</CreateTime>
</mytitle>

2、for xml path('')

select '['+CONVERT(varchar,ID)+']','['+Title+']' from dbo.ArticleInfo  for xml path('')

结果:

[1][新闻标题1][2][新闻标题2]

3、for xml row(raw : 是以属性的方式显示字段)

select ID,MenuType from ArticleInfo for xml raw

结果:

<row ID="4" MenuType="6" />
<row ID="5" MenuType="5" />
<row ID="6" MenuType="5" />

4、for xml row('str')(raw : 是以属性的方式显示字段)

select  ID,MenuType  from ArticleInfo  for xml raw('mytitle')

结果:

<mytitle ID="4" MenuType="6" />
<mytitle ID="5" MenuType="5" />
<mytitle ID="6" MenuType="5" />

5、for xml auto (auto : 是将表名(如:ArticleInfo )作为元素名显示字段)

select  ID,MenuType  from ArticleInfo  for xml auto

<ArticleInfo ID="4" MenuType="6" />
<ArticleInfo ID="5" MenuType="5" />
<ArticleInfo ID="6" MenuType="5" />

6、root('str')   注:在for  xml path/raw/auto后面用;在查询xml结果基础上增加根节点

select ID,MenuType from ArticleInfo for xml raw,root('xmlpath')

<xmlpath>
<row ID="4" MenuType="6" />
<row ID="5" MenuType="5" />
<row ID="6" MenuType="5" />
</xmlpath>

7、elements

select ID,MenuType from ArticleInfo for xml raw,root('xmlpath'),elements

<xmlpath>
<row>
<ID>4</ID>
<MenuType>6</MenuType>
</row>
<row>
<ID>5</ID>
<MenuType>5</MenuType>
</row>
</xmlpath>