Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Analysieren von OpenXML mit mehreren Elementen mit demselben Namen

SELECT *
FROM OPENXML (@index, 'rootnode/group/anothernode')
WITH 
(
  id int '../id',
  anothernode varchar(30) '.'
)

Oder Sie können stattdessen den XML-Datentyp wie folgt verwenden:

SELECT G.N.value('(id/text())[1]', 'int') AS id,
       A.N.value('text()[1]', 'varchar(30)') AS anothernode
FROM @XMLDoc.nodes('rootnode/group') AS G(N)
  CROSS APPLY G.N.nodes('anothernode') AS A(N)