我有这样的XML:
<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中使用XQuery,如何在列表中按行选择Just属性NB的值(我需要所有可能的值),
示例:
- 字幕 -
文字1
文字2
文字3
答案 0 :(得分: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);
nodes
表达式粉碎成行,value
检索列值。