使用XML FOR将命名空间添加到T-SQL查询

时间:2013-12-08 03:06:02

标签: sql xml namespaces sql-server-2012

我必须为自定义字段包含XML命名空间。

示例查询

SELECT field1 as '@attr1'
FROM table1
FOR XML PATH ('node')

到目前为止我收到的是:

<node attr1="value" />

我想要实现的是,简单明了,没有xmlns decalrations。

<myname:node attr1="value">

如何实现这一目标?

SQL Server 2012?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您需要在查询中声明XML命名空间,并引用它 - 如下所示:

;WITH XMLNAMESPACES('myname' AS ns)
SELECT field as '@attr1'
FROM table1
FOR XML PATH ('ns:node')

然后你会得到这样的输出:

<ns:node xmlns:ns="myname" attr1="value" />