无法将'WITH XMLNAMESPACES ... FOR XML PATH'的输出设置为变量?

时间:2010-07-12 16:52:06

标签: sql sql-server xml namespaces for-xml

我有如下查询:

;WITH XMLNAMESPACES ( DEFAULT 'http://www.somewhere.com')
SELECT ( 'SOMETHING' )
FOR XML PATH('RootNode'), TYPE

运行此工作正常。但是,当我尝试将XML输出设置为如下变量时,我遇到了麻烦:

DECLARE @MYXML AS XML

SELECT @MYXML = (
;WITH XMLNAMESPACES ( DEFAULT 'http://www.somewhere.com')
SELECT ( 'SOMETHING' )
FOR XML PATH('RootNode'), TYPE
)

这只是给我一个语法错误:-(任何关于如何实现这一点的想法将非常感激。

1 个答案:

答案 0 :(得分:22)

DECLARE @MYXML AS XML

;WITH XMLNAMESPACES ( DEFAULT 'http://www.somewhere.com')
SELECT @MYXML = (
   SELECT ( 'SOMETHING' )
   FOR XML PATH('RootNode'), TYPE)