我試圖將FOR XML查詢的結果作爲文本。 我在這裏發現了一些類似的問題: Using SQL Server "FOR XML": Convert Result Datatype to Text/varchar/string whatever? 但在我的情況下,我使用WITH XMLNAMESPACES語句,並且此解決方案不適用於我。 如何才能將以下查詢的結果作爲文本獲取?使用SQL Server「FOR XML」:將結果轉換爲文本
WITH XMLNAMESPACES ('urn:blablablabla' as bi)
SELECT 'urn:blablabla.xsd' AS "@xsi:schemaLocation",
(SELECT 'aaaa' AS 'bi:idValue',
'bbbb' AS 'bi:idContext'
FOR XML PATH('bi:Part1'),TYPE),
(SELECT 'cccc' AS 'bi:idValue',
'dddd' AS 'bi:idContext'
FOR XML PATH('bi:Part2'),TYPE)
FOR XML PATH('bi:Items'), ELEMENTS XSINIL
感謝
結果應該是這樣的:
<bi:Items xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bi="urn:blablablabla" xsi:schemaLocation="urn:blablabla.xsd">
<bi:Part1 xmlns:bi="urn:blablablabla">
<bi:idValue>aaaa</bi:idValue>
<bi:idContext>bbbb</bi:idContext>
</bi:Part1>
<bi:Part2 xmlns:bi="urn:blablablabla">
<bi:idValue>cccc</bi:idValue>
<bi:idContext>dddd</bi:idContext>
</bi:Part2>
</bi:Items
我的目標是得到這樣的結果作爲文本而不是XML數據類型。 例如做這樣的事情:
DECLARE @ResultText NVARCHAR(MAX)
SET @ResultText = ... Returned text from this query ...
另外,也許你知道我怎麼能避免在每個節點的命名空間的重複?
謝謝
你應該輸出什麼樣的樣子? – RBarryYoung 2012-04-07 23:59:25