删除 xml 属性的错误代码 -- MS SQL For xml (_x003D)

Remove error code for xml attribute -- MS SQL For xml (_x003D)

我有以下 sql 代码来生成 xml.

的块
SELECT top 1
'http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0' AS [xmlns],
(SELECT top 1
count(*)AS 'number-of-accounts',
--
-- TO DO
--
FOR XML PATH('payment-import-header'), TYPE),
FOR XML RAW ('consumer-payment-import-job');

输出是这样的:

如何去掉属性名称中的“_x003D”?如果我插入“=”或“@”,它将添加另一个随机值。我假设这些是错误标签。

谢谢

您使用 WITH XMLNAMESPACES 子句和 DEFAULT 关键字添加默认命名空间。

示例:

WITH XMLNAMESPACES(DEFAULT 'http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0')
SELECT 1
FOR XML PATH('consumer-payment-import-job');

有结果

<consumer-payment-import-job xmlns="http://www.crsoftwareinc.com/xml/ns/titanium/common/v1_0">1</consumer-payment-import-job>