Frage

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?

War es hilfreich?

Lösung

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, "''")')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top