在SQL Server 2012中使用xpath获取属性值

时间:2015-04-15 12:27:39

标签: sql-server xpath xquery

我正在使用SQL Server 2012.我有以下代码

DECLARE @x xml
SET @x = '<labels defaultText = "Javascript">      
            <label text = "Asp" />      
            <label text = "Sql" />      
            <label text = "Wcf" />
          </labels>' 

我想编写xpath / xquery查询来获取所有属性&#39;值为文本的值(在此示例中为&#34; AspSqlWcf&#34;)。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

尝试这样的事情

DECLARE @x xml
SET @x = '<labels defaultText = "Javascript">      
            <label text = "Asp" />      
            <label text = "Sql" />      
            <label text = "Wcf" />
          </labels>'  
SELECT (SELECT 
C.value('@text','nvarchar(100)') 
FROM @x.nodes('labels/label') as T(C)
FOR XML PATH(''),TYPE).value('.','nvarchar(MAX)') as val