我正在使用SQL Server 2005来提取XML数据。我将不胜感激一些帮助提取以下XML片段?
<ELEMENT_A>
<CHILD_A _attribA="ABC">
<CHILD_B Type="1">
<CHILD_C>
<CHILD_D Type="1" Date="2010-08-31">
<CHILD_E _attribB="M0">
<CHILD_F>-0.32295</CHILD_F>
</CHILD_E>
</CHILD_D>
</CHILD_C>
</CHILD_B>
</CHILD_A>
</ELEMENT_A>
如何以下列表格格式获取数据? ELEMENT_A | _attribA | CHILD_A | CHILD_B | CHILD_C | CHILD_D | CHILD_E | CHILD_F
注意:我想使用节点选择,例如以下为我获取第一个属性的值:
选择 v.value( '@_ attribA [1]', 'nvarchar的(4)') 来自@ doc.nodes('/ ELEMENT_A / CHILD_A')x(v)
非常感谢,谢谢。
答案 0 :(得分:0)
希望这对你来说还不算太晚。我今天才看到你的问题
select
v.value('../../../../../@_attribA','nvarchar(4)') as _attribA
,v.value('../../@Date','nvarchar(12)') as [Date]
,v.value('../@_attribB','nvarchar(2)') as _attribB
,v.value('.','float') as CHILD_F
,v.query('../../../../..') as CHILD_A
from @doc.nodes('/ELEMENT_A/CHILD_A/CHILD_B/CHILD_C/CHILD_D/CHILD_E/CHILD_F') x(v)