Я прошел через многочисленные вопросы по этому вопросу, и ни одна из этих резолюций, похоже, не работает.У меня есть следующий XML:
DECLARE @XML xml;
SELECT @XML ='<?xml version="1.0" encoding="UTF-8"?>
<hb:MedicalAidMessage xmlns:hb="bridge.co.za/mes" Version="6.0.0">
<Claim>
<Details>
<LineItems>
<LineItem>
<HBBatchNum>2414</HBBatchNum>
</LineItem>
</LineItems>
</Details>
</Claim>
</hb:MedicalAidMessage>';
и этот код для его анализа:
;WITH XMLNAMESPACES ('bridge.co.za/mes' as ns)
SELECT
ISNULL(T.N.value('HBBatchNum[1]', 'INT'), 0) AS BatchNo
FROM
@XML.nodes('/Claim/Details/LineItems/LineItem[1]') AS T(N)
, который возвращает пустое значение вместо 2414. В реальном запросе XML хранится встолбец таблицы.Я просто не могу понять, почему я не получаю значение узла.