gpt4 book ai didi

sql-server - 埋在节点内的 XML 值

转载 作者:数据小太阳 更新时间:2023-10-29 02:06:03 25 4
gpt4 key购买 nike

全新 XML,但不是 SQL。我有我们的应用程序供应商构建的数据,我正在尝试将其加载到表中:

<windowsets>
<windows>
<question>
<id Value="81b25d-9385-sk3" />
<displayname Value="Thermal Break" />
<answername Value="Yes" />
</question>
<question>
<id Value="73v32k-2743-fd9" />
<displayname Value="Panel Profile" />
<answername Value="Medium Stille" />
</question>
</windows>
</windowsets>

通过这里的其他帖子,我发现并得到了创建:

select
t.x.value('(id [@Value]/text())[1]','varchar(100)') QuestionID,
t.x.value('(displayname [@Value]/text())[1]','varchar(255)') DisplayName,
t.x.value('(answername [@Value]/text())[1]','varchar(255)') AnswerName
from @xmlData.nodes('//windowsets/windows/question') as T(X)

但它会为所有列返回空值,我猜这是因为它需要以下格式:

<displayname>Panel Profile</displayname>

所以作为 XML 新手和我所做的所有搜索并没有帮助我理解如何更改代码以在值被埋在节点中时提取它(甚至不确定正确的术语我太新了) .

感谢您的帮助!

最佳答案

它被称为属性

要从 xml 中读取 attributes 尝试这样的事情

select
t.x.value('(id/@Value)[1]','varchar(100)') QuestionID,
t.x.value('(displayname/@Value)[1]','varchar(255)') DisplayName,
t.x.value('(answername/@Value)[1]','varchar(255)') AnswerName
from @xmlData.nodes('//windowsets/windows/question') as T(X)

关于sql-server - 埋在节点内的 XML 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42230255/

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