Non*_*gon 4 xml t-sql sql-server
我正在从 sql 字符串中获取数据以制作 XML 文件,这是我的 SQL
SELECT [data] AS data
FROM MyTable
WHERE [Status] = '1'
FOR XML PATH('DataLocation')
Run Code Online (Sandbox Code Playgroud)
这是我的 XML 返回
<DataLocation>
<data>String</data>
</DataLocation>
Run Code Online (Sandbox Code Playgroud)
我的问题是我想要标签DataLocation而不是标签data,我只想显示String值。
我哪里错了?
有几种方法会导致相同的结果。他们都有小商品和小商品:
DECLARE @tbl TABLE(Data NVARCHAR(100), [Status] INT)
INSERT INTO @tbl(Data, [Status]) VALUES
('test 1 with 1', 1)
,('test 1 with 2', 2)
,('test 2 with 1', 1);
SELECT [data] AS [*]
FROM @tbl
WHERE [Status] = 1
FOR XML PATH('DataLocation');
SELECT [data] AS [node()]
FROM @tbl
WHERE [Status] = 1
FOR XML PATH('DataLocation');
SELECT '' + [data] --Any kind of computation results in "no caption name"
FROM @tbl
WHERE [Status] = 1
FOR XML PATH('DataLocation')
SELECT [data] AS DataLocation
FROM @tbl
WHERE [Status] = 1
FOR XML PATH('')
Run Code Online (Sandbox Code Playgroud)
小背景:如果有一个列名,它将被使用。所以你必须想办法去掉这个列名,或者用你想要的来代替它。