【问题标题】:SQL Server XML Extract NodesSQL Server XML 提取节点
【发布时间】:2010-09-28 16:24:38
【问题描述】:

我正在使用 SQL Server 2005 提取 XML 数据。我将不胜感激提取以下 XML sn-p 的帮助?

<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>

如何获取以下表格格式的数据? 元素_A | _attribA | CHILD_A |孩子_B |孩子_C |孩子_D |孩子_E | CHILD_F

注意:我想使用按节点选择,例如以下为我提供了第一个属性的值:
选择 v.value('@_attribA[1]','nvarchar(4)') 来自@doc.nodes('/ELEMENT_A/CHILD_A') x(v)

非常感谢,谢谢。

【问题讨论】:

  • 您的示例中缺少一个结束 标记

标签: xml database sql-server-2005 openxml


【解决方案1】:

希望这对您来说还不算太晚。我今天才看到你的问题

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)

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2023-03-09
    • 2012-09-23
    相关资源
    最近更新 更多