Deseo obtener el valor de atributo de XML usando Xquery.Cómo obtener valor del atributo XML usando Sql: Variable en xquery
MI XML es
<Answers>
<AnswerSet>
<Answer questionId="NodeID">155</Answer>
<Answer questionId="ParentNode" selectedValue="12">Product</Answer>
</AnswerSet>
</Answers>
A continuación es mi consulta.
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 ('(/ Respuestas/AnswerSet/respuesta [@ IdPregunta = sql: variable ("@ Campo")]/sql: variable (@Attribute)) [1]',' varchar (max) '),' ') desde el nodo donde id = 155
debajo de la línea está trabajando muy bien con sql: variable de
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")])[1]','varchar(max)'),'')
pero estoy consiguiendo error en la línea de abajo ..
ISNULL(PropertyXML.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/sql:variable(@Attribute))[1]','varchar(max)'),'')
Deseo obtener el valor de atributo proporcionado (@Attribute) en el resultado.
¿Qué versión de SQL Server? Si está usando .value, tiene que ser 2005+ –
sí 2005 y 2008 – Mohmedsadiq