【发布时间】:2013-03-14 13:01:20
【问题描述】:
我正在尝试使用 T-SQL 生成一个 XML 文件,在根节点中有一个默认命名空间,但在子节点中没有定义命名空间。
DECLARE @xmlData XML
DECLARE @xmlInner XML
SELECT @xmlInner =
(
SELECT * FROM dbo.GH_DATA_BS_EVLTN_MNTH_ANL [r]
FOR XML PATH('r'), TYPE
)
;WITH XMLNAMESPACES (DEFAULT 'http://www.testnamespace.com')
SELECT @xmlData =
(
SELECT '2012-10-25T14:13:00Z' as "@DataFeedDate",@xmlInner
FOR XML PATH('root')
)
SELECT @xmlData
上面的脚本生成以下 XML 文件
<root xmlns="http://www.testnamespace.com" DataFeedDate="2012-10-25T14:13:00Z">
<r xmlns="">
<RPRT_DT_CD>2012-10-25T14:15:00-05:00</RPRT_DT_CD>
<RPRT_MO_CD>2013-01</RPRT_MO_CD>
<RPRT_EV_CD>1</RPRT_EV_CD>
</r>
</root>
问题是标签包含空白命名空间 xmlns="" 但预期的结果是简单地获得没有定义命名空间。
【问题讨论】:
-
问题不清楚。您得到的输出 does 在子节点中没有默认命名空间。
标签: sql-server xml tsql xquery xml-namespaces