I have the following xml

declare @xml xml = '<Values><a>AAA</a><b>BBB</b></Values>';
select @xml.query('for $k in /Values return concat(",@", "=''", $k, "''")')

It returns

,@='AAABBB'

However I expect

,@a='AAA',@b='BBB'

How to write the xquery?

有帮助吗?

解决方案

I figured it out myself.

declare @xml xml = '<Values><a>AAA</a><b>BBB</b></Values>';
select @xml.query('for $k in /Values/* 
    return concat(",@", fn:local-name($k), "=''", $k, "''")')
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top