我在SQL server数据库中有一个表,我正在使用以下查询从该表生成一个XML。
SELECT OrderNumber, CustomerID, ITEM
FROM OrderHeader
FOR XML RAW('Order'), ELEMENTS, ROOT('Orders')我得到一个这样的XML:
<Orders>
<Order>
<OrderNumber>SO101</OrderNumber>
<CustomerID>1</CustomerID>
<Item>item 1</Item>
</Order>
<Order>
<OrderNumber>SO102</OrderNumber>
<CustomerID>1</CustomerID>
<Item>item 2</Item>
</Order>
</Orders>但是我需要生成以下格式的XML。
<Orders>
<Order OrderNumber= 'SO101'>
<CustomerID>1</CustomerID>
<Item>item 1</Item>
</Order>
<Order OrderNumber= 'SO102'>
<CustomerID>1</CustomerID>
<Item>item 2</Item>
</Order>
</Orders>即Order number列需要显示为Order节点的属性。
我如何才能做到这一点?
发布于 2012-07-06 19:12:42
我想您会发现XML RAW会限制您的选择。
尝试使用XML路径,如下所示:
SELECT OrderNumber AS @Id, CustomerID, ITEM
FROM OrderHeader
FOR XML PATH('Order'), ELEMENTS, ROOT('Orders')我想看看这样做是否奏效,现在也试着改进我的XML。
发布于 2012-07-06 19:12:33
尝尝这个,
SELECT
OrderNumber AS "Order/@OrderNumber",
CustomerID,
ITEM
FROM
OrderHeader
FOR XML PATH, ELEMENTS, ROOT('Orders')了解更多details
https://stackoverflow.com/questions/11360802
复制相似问题