以下を使用して XML ドキュメントを生成していますFOR XML EXPLICIT
。
declare @MyTable table (value xml);
insert into @MyTable values
('<foo bar="data1">content1</foo>')
,('<foo bar="data2">content2</foo>')
,('<foo bar="data3">content3</foo>');
select 1 as Tag, null as Parent
, value as [x!1!!xml]
from @MyTable
for xml explicit;
そして、そのような応答を取得します:
<x>
<foo bar="data1" xmlns="">content1</foo>
</x>
<x>
<foo bar="data2" xmlns="">content2</foo>
</x>
<x>
<foo bar="data3" xmlns="">content3</foo>
</x>
xmlns
問題は、属性が必要ないことです。
解決策を見つけましたが、それはクラッジのようです。
select 1 as Tag, null as Parent
, cast (value as varchar(200)) as [x!1!!xml]
from @MyTable
for xml explicit;
問題を解決するためのよりエレガントな方法はありますか?
を使用して提供しないでくださいFOR XML PATH/RAW/AUTO
。
EXPLICIT
モードは必須です。