0

我有以下xml

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

它返回

,@='AAABBB'

不过我期待

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

如何编写xquery?

4

1 回答 1

2

我自己想通了。

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, "''")')
于 2013-03-27T06:18:28.153 回答