我正在寻找是否可以在 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/