17
我试图以客户指定的特定XML格式从数据库中导出一些数据。我产生的XML将被第三方操纵(大概是由XSLT来产生最终的输出),但是我想尽我所能地将XML格式化为这种格式。SQL FOR XML - 将数据输出为元素或作为属性
客户已请求的数据在每个产品上,像这样:
<product id="1234567890123">
<activeState partNumber="A1234567890" shipmentDate="20110518" />
</product>
我现有的SQL是:
SELECT SerialNo as id,
PartNo as partNumber,
CONVERT(VARCHAR(8), GETDATE(), 112) AS shipmentDate,
FROM Products
WHERE SerialNo = @SerialNo
FOR XML PATH ('product'), TYPE)
...这使得:
<product>
<id>100000000458</id>
<partNumber>10004905892</partNumber>
<shipmentDate>20120312</shipmentDate>
</product>
我期待在XSLT中操作这些数据是很容易的,但纯粹是一种智力练习,我想看看我能够在多大程度上SQL。我的首要目标是简单地将id作为产品属性而不是孩子元素。 activeState元素的渲染我将要离开XSLT,但显然,如果我可以帮助他们,为什么不这样做...
有什么建议吗?
作品一种享受 - 谢谢。 – CJM 2012-03-30 14:16:57