SQL Server 2000:编写xml输出时出现问题

时间:2010-11-16 17:13:17

标签: sql sql-server tsql sql-server-2000 sqlxml

我需要在XMLformat中将变量@XMLOutput设置为子查询的值。

子查询可以自行运行,但是当运行整个查询时,我得到错误:

  

XML附近的语法不正确。

SELECT @XMLOutput = (SELECT loc
                       FROM ghhsitemap url
                    FOR XML AUTO, Elements)

第二个问题:将@XMLOutput指定为变量并将其数据类型设置为xml时,它表示它不是有效的数据类型。

如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

在SQL Server 2005之前,SQL Server中不包含XML数据类型支持。

答案 1 :(得分:0)

只需将@XMLOutput声明为varchar()

即可

您设置值的语法错误 - 应该是这样的:

SELECT @XMLOutput = loc FROM ghhsitemap url FOR XML AUTO, Elements

答案 2 :(得分:0)

这在sql 2000中不受支持。并且不要试图在相关子查询中返回它 - 这在sql 2000中也不起作用。有趣吗?

在你的情况下,由于你的xml是如此简单,我只是将xml构建为一个字符串并返回它。

DECLARE @XmlString varchar(500)
SELECT @XmlString = '<loc>' + Cast(loc as varchar(8)) + '</loc>' FROM ghhsitemap