sql-server – 使用T-SQL和XQUERY解析XML – 搜索特定值
发布时间:2020-12-12 08:30:58 所属栏目:MsSql教程 来源:网络整理
导读:我有一些应用程序的属性以 XML格式传递给我.我需要按名称解析属性并将值分配给我的数据库中的相应列. 我目前正在SSIS脚本组件中解析它,但它需要很长时间才能完成.我希望有一个简单的解决方案,使用XQUERY,但我找不到我要找的东西. 这是我收到的xml的一个例子:
我有一些应用程序的属性以
XML格式传递给我.我需要按名称解析属性并将值分配给我的数据库中的相应列.
我目前正在SSIS脚本组件中解析它,但它需要很长时间才能完成.我希望有一个简单的解决方案,使用XQUERY,但我找不到我要找的东西. 这是我收到的xml的一个例子: <properties> <property> <name>DISMISS_SETTING</name> <value>DEFAULT</value> </property> <property> <name>SHOW_SETTING</name> <value>DEFAULT</value> </property> <property> <name>DEFAULT_SETTING</name> <value>DEFAULT</value> </property> </properties> 所以,如果我查看第一个属性元素,我会将值DEFAULT分配给我的数据库中的DISMISS_SETTING列.此外,重要的是要注意,值的顺序和组合可能没有特定的顺序. 解决方法使用 value() Method (xml Data Type)从XML中提取值.在XQuery表达式中检查谓词中所需的名称.select @XML.value('(/properties/property[name = "DISMISS_SETTING"]/value/text())[1]','nvarchar(100)') as DISMISS_SETTING,@XML.value('(/properties/property[name = "SHOW_SETTING"]/value/text())[1]','nvarchar(100)') as SHOW_SETTING,@XML.value('(/properties/property[name = "DEFAULT_SETTING"]/value/text())[1]','nvarchar(100)') as DEFAULT_SETTING SQL Fiddle (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |