SQL - список имен атрибутов и значений данного тега с использованием OPENXML - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть следующий XML из внешнего источника:

<Op>
  <Venc v110="100.01" v120="200.02"/>
</Op>

Используя OPENXML, можно ли выполнить запрос к указанному XML, чтобы результат выглядел так?

AttributeName  Value
v110           100.01
v120           200.02

Идеальное решение было бы динамичным, поскольку оно работало бы без необходимости явного перечисления всех возможных имен атрибутов в коде.

Кроме того, для ссылки на то, что я надеюсь достичь, это рабочее решение с использованием @XML.nodes, который обеспечивает желаемый результат:

declare @XML as xml
SET @XML = '<Op><Venc v110="100.01" v120="200.02"/></Op>'

SELECT 
  b.value('local-name(.)','VARCHAR(50)') AS AttributeName,  -- get attribute name
  b.value('.','decimal(20,2)') AS Value  -- get attribute value
FROM @XML.nodes('Op/Venc') p(k)
CROSS APPLY k.nodes('@*') a(b)

Заранее спасибо.

...