6
我想使用Xquery从XML获取属性值。如何使用Sql获取XML属性的值:xquery中的变量
我的XML是
<Answers>
<AnswerSet>
<Answer questionId="NodeID">155</Answer>
<Answer questionId="ParentNode" selectedValue="12">Product</Answer>
</AnswerSet>
</Answers>
下面是我的查询。
DECLARE @Field Varchar(100)
DECLARE @Attribute VARCHAR(100)
SET @Field='ParentNode'
SET @Attribute = 'selectedValue'
SELECT ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'') ,
ISNULL(PropertyXML.value( '(/答案/ AnswerSet /回答[@ questionId = SQL:可变( “@域”)]/SQL:可变(@Attribute))[1]',” VARCHAR(最大) '),'') 从节点 WHERE ID = 155
以下线路工作正常用sql:可变
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'')
但我在下面行收到错误..
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/sql:variable(@Attribute))[1]','varchar(max)'),'')
我想在结果中获得提供的属性(@Attribute)值。
的SQL Server的什么版本?如果您使用.value,必须是2005+ – 2012-07-27 04:25:08
是2005年和2008年 – Mohmedsadiq 2012-07-27 04:29:33