gpt4 book ai didi

sql-server - 如何从 SQL Server 中的 XML 元素获取特定属性

转载 作者:数据小太阳 更新时间:2023-10-29 01:37:44 28 4
gpt4 key购买 nike

我在表的一列中有类似以下 XML 的内容:

<?xml version="1.0" encoding="utf-8"?>
<container>
<param name="paramA" value="valueA" />
<param name="paramB" value="valueB" />
...
</container>

我正在尝试通过 TSQL 从 XML 中获取 valueB 部分

到目前为止我得到了正确的节点,但现在我不知道如何获得属性。

select xmlCol.query('/container/param[@name="paramB"]') from LogTable

我想我可以将/@value 添加到末尾,但是 SQL 告诉我属性必须是节点的一部分。我可以找到很多选择子节点属性的例子,但没有关于兄弟属性的例子(如果这是正确的术语)。

如有任何帮助,我们将不胜感激。

最佳答案

尝试使用 .value 函数代替 .query:

SELECT 
xmlCol.value('(/container/param[@name="paramB"]/@value)[1]', 'varchar(50)')
FROM
LogTable

XPath 表达式可能会返回一个节点列表,因此您需要向该潜在列表添加一个 [1] 以告诉 SQL Server 使用这些条目中的第一个(是的 - 那列表是基于 1 的 - 而不是基于 0 的)。作为第二个参数,您需要指定应将值转换为什么类型 - 在这里只是猜测。

马克

关于sql-server - 如何从 SQL Server 中的 XML 元素获取特定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1561102/

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