Je sais que cette réponse est acceptée, mais il existe en fait une manière plus simple de le faire, si la seule chose que vous devez faire est de sélectionner la valeur du nœud. Utilisez simplement *
comme nom d'espace de noms :
SELECT MessageXml
, MessageXml.value('(/*:Envelope/*:Body/*:FetchRequest/*:Contract/*:TransactionId)[1]'
, 'varchar(max)')
FROM dbo.Message