0

因此,我从 SQL Server 2000 DB 中提取数据,然后使用 FOR XML AUTO 将其转换为 XML。

我得到的 XML 看起来像这样。

<Order OrderNumber="2000004" DeliveryPickupCharge="5.9900" SalesTaxTotal="0.0000"      SubTotal="0.0000" Total="5.9900">
  <Customer FirstName="Anthony" LastName="Caporale">
  <Product ProductName="Paper Towels">
  <OrderItem ItemQuantity="1" ItemPrice="8.5900" Total="8.5900" />
</Product>
<Product ProductName="Bathroom Tissue - Giant Roll">
  <OrderItem ItemQuantity="2" ItemPrice="7.1500" Total="14.3000" />
</Product>
<Product ProductName="Napkins - 1-Ply">
  <OrderItem ItemQuantity="1" ItemPrice="3.4900" Total="3.4900" />
</Product>
<Product ProductName="Facial Tissues - 2-Ply - White">
  <OrderItem ItemQuantity="2" ItemPrice="2.0500" Total="4.1000" />
</Product>
<Product ProductName="Anti-Perspirant &amp; Deodorant - Ultra DryCool Rush">
  <OrderItem ItemQuantity="2" ItemPrice="3.5900" Total="7.1800" />
</Product>
<Product ProductName="Flushable Wipes - Fresh Mates Cloths - Refill">
  <OrderItem ItemQuantity="2" ItemPrice="2.9500" Total="5.9000" />
</Product>

首先,在 2000 年没有 Root('whatever'),那么有没有办法在 T-SQL 中添加根节点?另外,有没有办法将所有产品包装在产品标签中?我不太明白为什么返回的 XML 格式如此糟糕。如果我在 SQL 2005 中,我可以稍微修复它。不幸的是,我现在被 2000 困住了。

谢谢

4

2 回答 2

0

我知道在 2005 年使用嵌套选择允许您将多个结果嵌入一个核心标签(产品中的多个产品),同时为 XML AUTO 声明 ensted seelect。

您还可以使用此技术通过使用一个大型嵌套选择将所有内容包装在根标记中。

于 2009-12-22T12:04:57.117 回答
0

您可以使用FOR XML EXPLICIT模式按照您的意愿操作 XML 。我认为它比 AUTO(或 2k5 PATH)复杂得多,但一旦你开始使用它就可以正常工作。

于 2009-08-14T18:38:45.930 回答