【发布时间】:2015-12-04 14:56:58
【问题描述】:
我正在尝试使用 XML Explicit 生成以下 XML 结构
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet ss:Name="1">
<Table>
<Row>
<Cell>
<Data ss:Type="String">231548</Data>
</Cell>
<Cell>
<Data ss:Type="String">2014-11-03T20:03:30</Data>
</Cell>
</Row>
</Table>
</Worksheet>
我可以生成
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<Worksheet ss:Name="1">
<Table>
<Row>
<Cell>
<Data ss:Type="String">231548</Data>
</Cell>
</Row>
</Table>
</Worksheet>
</Workbook>
我无法生成上述结构。 我用来生成结构的代码如下。
SELECT
Tag,
Parent,
[Workbook!1!xmlns],
[Workbook!1!xmlns:ss],
[Worksheet!2!ss:Name],
[Table!3!],
[Row!4!],
[Cell!5!],
[Data!6!ss:Type],
[Data!6!]
FROM (
SELECT top 5
1 AS Tag,
0 AS Parent,
0 as SORT,
'urn:schemas-microsoft-com:office:spreadsheet' AS [Workbook!1!xmlns],
'urn:schemas-microsoft-com:office:spreadsheet' AS [Workbook!1!xmlns:ss],
NULL AS [Worksheet!2!ss:Name],
NULL AS [Table!3!],
NULL AS [Row!4!],
NULL AS [Cell!5!],
NULL AS [Data!6!ss:Type],
NULL AS [Data!6!]
UNION ALL
SELECT top 5
2 AS Tag,
1 AS Parent,
AuditID * 100 as SORT,
NULL ,
NULL ,
Null,
NULL ,
NULL ,
NULL ,
NULL,
NULL
From TempAudits
UNION ALL
SELECT top 5
3 AS Tag,
2 AS Parent,
AuditID * 100+1 as SORT,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL,
NULL
From TempAudits
UNION ALL
SELECT top 5
4 AS Tag,
3 AS Parent,
AuditID * 100+2 as SORT,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL ,
NULL,
NULL
From TempAudits
UNION ALL
SELECT top 5
5 AS Tag,
4 AS Parent,
AuditID * 100+3 as SORT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
FROM TempAudits
UNION ALL
SELECT top 5
6 AS Tag,
5 AS Parent,
AuditID * 100+4 as SORT,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
'String' AS TYPE,
AuditID AS Data
FROM TempAudits) Aa
Order by Sort
FOR XML EXPLICIT
谁能帮帮我。 任何帮助将不胜感激。 我正在使用此代码生成可以在 excel 中打开的 xml。
【问题讨论】:
-
看看
FOR XML PATH,它通常比显式模式容易得多,而且几乎可以做任何事情 -
@marc_s 感谢您的建议。我也在尝试。你能帮我解决上面的问题吗?
-
@marc_s 你能帮我使用 XML 路径生成相同的 XML。
-
如果您可以提供SQL Fiddle 与表结构和一些示例数据 - 是的,可能
-
@marc_s 感谢您抽出时间为我提供帮助。我已经在 [link]sqlfiddle.com/#!9/126210 创建了表格和示例条目
标签: sql sql-server tsql for-xml-explicit