2009-11-02 19 views
5

Ben böyle bir XML:MS SQL Server XQuery ile öznitelik değeri almak nasıl 2008

<EXP> 
    <TITLES> 
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/> 
    </TITLES> 
    <TITLES> 
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/> 
    </TITLES> 
    <TITLES> 
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/> 
    </TITLES> 
</EXP> 

SQL Server 2008 yılında XQuery'yi kullanarak, bir öznitelik NB Hemen değerini seçebilir nasıl liste, satırlar tarafından, (tüm olası değerleri gerekir)

Örnek:

- Altyazı -

Metin 1

Metin 2

Metin 3

cevap

8
DECLARE @x xml; 
SET @x = N'<EXP> 
    <TITLES> 
    <SUBTITLE CL="AXT4" FL="1" NB="Text 1"/> 
    </TITLES> 
    <TITLES> 
    <SUBTITLE CL="BVT6" FL="2" NB="Text 2"/> 
    </TITLES> 
    <TITLES> 
    <SUBTITLE CL="PLO7" FL="3" NB="Text 3"/> 
    </TITLES> 
</EXP> 
'; 

SELECT 
    t.c.value(N'@NB', N'nvarchar(10)') AS Subtitles 
FROM 
    @x.nodes(N'/EXP/TITLES/SUBTITLE') t(c); 
sıra halinde

nodes sentezleme artıkları, ve value kolon değer alır.