Парсинг SOAP с вложенным SOAP

DECLARE @x xml SET @x='<GetInformReply>
  <Inform_ID>14</Inform_ID>
  <ASOUPReply><![CDATA[<?xml version=1.0 encoding=UTF-8?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body><ns2:getReference14ASUResponse xmlns:ns2="http://service.siw.pktbcki.rzd/">
  <return><reference14ASU>
  <row>
  <NOM_VAG>52754355</NOM_VAG><NOM_NAK>Р­Рџ882331</NOM_NAK><NOM_NAK_1></NOM_NAK_1><NOM_NAK_2></NOM_NAK_2><NOM_NAK_3></NOM_NAK_3><NOM_NAK_4></NOM_NAK_4><NOM_NAK_5></NOM_NAK_5>
  </row>
  </reference14ASU><amount>7</amount><amountRF>7</amountRF><amountNotRF>0</amountNotRF><codeTypeObject>1</codeTypeObject><returnCode>0</returnCode>
  <errorCode>0</errorCode>
  <errorMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
  <title>Справка о дислокации вагонов по списку</title>
  </return>
  </ns2:getReference14ASUResponse>
  </S:Body>
  </S:Envelope>]]>
  </ASOUPReply>
</GetInformReply>'
;with xmlnamespaces('http://schemas.xmlsoap.org/soap/envelope/' as [S],'http://service.siw.pktbcki.rzd/' as [ns2])
select  
T.c.value('(.)[1]', 'varchar(max)') AS NOM_VAG
FROM @x.nodes('/GetInformReply/ASOUPReply') T(c)

Как распарсить? Я как понял парсер спотыкается вот здесь ![CDATA[


Ответы (0 шт):