sql - 如何从 SQL Server 2008 中的 XML 文档中选择每个标签?

标签 sql xml sql-server-2008

我正在寻找是否可以在 T-SQL 中进行查询,该查询将从 中选择值每我的 XML 文档的标签。

我不知道可以有多少个标签,也不知道它们的名字,因为它应该是动态的...
这不是重要的输出格式(以后可以操作),唯一重要的是我从每个标签中获取数据:)

谢谢

最佳答案

你可以尝试这样的事情:

DECLARE @input XML = '..... add your XML here........'

SELECT 
    NodeName = Nod.value('local-name(.)', 'varchar(50)'),
    NodeValue = Nod.value('.', 'varchar(50)')
FROM @input.nodes('//*') AS TBL(Nod)

这将列出 XML 中的所有节点 - 名称和值。

警告:我刚刚选择了 varchar(50)在这里随机,作为 XML 节点元素的数据类型。如果这不适合您 - 根据需要进行调整!由于您一次转换它们,因此您必须将它们全部转换为相同的数据类型 - 和 varchar似乎是一个相当安全的选择:-)

关于sql - 如何从 SQL Server 2008 中的 XML 文档中选择每个标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934793/

相关文章:

SQL Case 语句在 where 子句中指定条件?

Java无法访问payara服务器上的servlet

php - odbc_execute 在准备好的语句上失败,然后说它 "failed to fetch error message"

SQL 查询对我来说太复杂了

MySQL - 在 Y 最低的地方更新 X

xml - 无法在 XML 设置中添加架构 (xsd)

c# - 如何在所需文件夹中以编程方式创建 SQL Server 2008 数据库完整备份

sql - 使用 JDBC 识别 SQL Server 版本

MySQL:多列排序所需的索引

java - Android : java. lang.OutOfMemoryError: