2013-06-11 194 views
3

我想從XML字段提取參數,但似乎無法弄清楚如何通過參數的名稱屬性篩選我的參數。通過屬性值篩選XML查詢

XML

<parameters> 
    <parameter name="id"> 
     <item>2</item> 
    </parameter> 
    <parameter name="channel"> 
     <item>retail</item> 
     <item>wholesale</item> 
    </parameter> 
</parameters> 

我試圖提取INT 2,並在隨後的查詢中提取的話零售和批發。

我已經看到它在網上做了很多不同的方式,但似乎沒有任何工作適合我。任何幫助,將不勝感激。

謝謝!

回答

4

試試這個:

declare @x xml = '<parameters> 
    <parameter name="id"> 
     <item>2</item> 
    </parameter> 
    <parameter name="channel"> 
     <item>retail</item> 
     <item>wholesale</item> 
    </parameter> 
</parameters>' 

select t.s.value('.', 'nvarchar(max)') 
from @x.nodes('//parameter[@name = "id"]/item') t(s) 

它返回如下表:

2