关于Xml数据类型的问题(请高手解决一下)
<a Name="9" value="8" attr3="7" attr4="6" attr5="5" attr6="4"/>
用sql:variable如何表示属性名称(不是值)
或如何列出所有属性名称
DECLARE @x xml
SET @x='<a Name="9" value="8" attr3="7" attr4="6" attr5="5" attr6="4"/>'
---- 用sql:variable如何表示属性名称
DECLARE @pname sysname
SET @pname = 'value'
SELECT @x.query('<value>{
for $i in /a/@* where local-name($i)=sql:variable("@pname")
return string($i)}</value>').value('(/value)[1]', 'varchar(10)')
DECLARE @x xml
SET @x='<a Name="9" value="8" attr3="7" attr4="6" attr5="5" attr6="4"/>'
-- 枚举属性
SELECT @x.query('<names>{for $i in /a/@* return <name>{local-name($i)}</name>}</names>')