我正在使用以下方法生成 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
属性。
我找到了一个解决方案,但它似乎是一个kludge。
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
模式是必须的。