XML 切碎以包括属性和内部元素值



请考虑以下 XML 片段:

<Orders>
  <Totals>
     <Total Type="Merchandise">56.89</Total>
     <Total Type="Shipping">10.75</Total>
     <Total Type="Tax">0.00</Total>
     <Total Type="Order">67.64</Total>
     <Total Type="Discount">0.00</Total>
     <Total Type="ServiceFee">0.00</Total>
     <Total Type="ServiceFeeDiscount">0.00</Total>
  </Totals>  
</Orders>

我想(使用 SQL 内置的 XQuery/XPath 支持)将 Type 属性和每个 Total 的值粉碎到它自己的列中,将每个元素的内部值粉碎到它自己的列中,如下所示:

    Type           Amount  
Merchandise        56.89  
  Shipping         10.75  
     Tax            0.00  

我已经使用了我所知道的所有XQuery和XPath,但无济于事。 任何帮助将不胜感激!

哇,不知道为什么我以前想不通。 请参阅下面的代码:

select T.data.value('@Type', 'varchar(20)'),
   T.data.value('.', 'varchar(20)')
from @data.nodes('Orders/Totals/Total') T(data)

最新更新