簡體   English   中英

如何在SQL Server 2008中解析xml

[英]How to parse xml in SQL Server 2008

我有以下XML:

<PW_main_Root_>
    <Trigger_data_new_ID>30</Trigger_data_new_ID>
    <Trigger_Event>
        <OperatorID>30</OperatorID>
        <MainData>516274981</MainData>
        <Variables>
            <Variable VarID="8040" Value="00000000"/>
            <Variable VarID="8140" Value="50000000"/>
            <Variable VarID="8240" Value="00000000"/>
            <Variable VarID="8340" Value="00000000"/>
            <Variable VarID="8440" Value="00000000"/>
            <Variable VarID="8540" Value="00000000"/>
            <Variable VarID="8640" Value="00080000"/>
            <Variable VarID="8740" Value="01000000"/>
            <Variable VarID="8840" Value="000E0000"/>
            <Variable VarID="8940" Value="00000000"/>
            <Variable VarID="8B40" Value="0F000000"/>
            <Variable VarID="8A40" Value="00000000"/>
            <Variable VarID="0F40" Value="00000000"/>
        </Variables>
    </Trigger_Event>
</PW_main_Root_>

現在,我想在sql server中解析此XML,並希望像這樣:

VarID    Value
-------------------
8040    00000000
8140    50000000
8240    00000000
...and so on

我怎樣才能做到這一點 ?

我有SQL Server 2008,因此SQL Server 2014的所有功能都無法在此處使用。

Select VarID = x.v.value('@VarID','VARCHAR(50)')
      ,Value = x.v.value('@Value','VARCHAR(50)')
 From  @Xml.nodes('PW_main_Root_/Trigger_Event/Variables/Variable') x(v)

返回

VarID   Value
8040    00000000
8140    50000000
8240    00000000
8340    00000000
8440    00000000
8540    00000000
8640    00080000
8740    01000000
8840    000E0000
8940    00000000
8B40    0F000000
8A40    00000000
0F40    00000000

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM