FOR XMLクエリの結果をテキストとして取得しようとしています。 私はここでいくつかの同様の質問を見つけました: Using SQL Server "FOR XML": Convert Result Datatype to Text/varchar/string whatever? 私の場合は、私はXMLNAMESPACESステートメントを使用して、この解決策は私のために働くdoesnt。 次のクエリの結果をテキストとして取得するにはどうすればよいですか?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