gpt4 book ai didi

sql - 如何使用 Sql :Variable in xquery 从 XML 属性获取值

转载 作者:行者123 更新时间:2023-12-02 21:06:05 25 4
gpt4 key购买 nike

我想使用 Xquery 从 XML 获取属性值。

我的 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('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/sql:variable(@Attribute) )[1]','varchar(max)'),'')
FROM node
WHERE id=155

下面的行与 sql:variable 一起工作正常

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(@Attribute)值有什么想法吗?

最佳答案

尝试类似的事情

ISNULL(@Xml.value('(/Answers/AnswerSet/Answer[@questionId=sql:variable("@Field")]/@*[local-name() = sql:variable("@Attribute")])[1]','varchar(max)'),'') 

关于sql - 如何使用 Sql :Variable in xquery 从 XML 属性获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com