Hvis dit XML-dokument har XML-navneområder, skal du overveje dem i dine forespørgsler!
Så hvis din XML ligner dit eksempel, skal du bruge:
-- define the default XML namespace to use
;WITH XMLNAMESPACES(DEFAULT 'bar')
SELECT
x.u.value('Name[1]', 'varchar(100)') as Name
from
@XMLDOC.nodes('/Feed/Product') x(u)
Eller hvis du foretrækker at have eksplicit kontrol over, hvilket XML-navneområde der skal bruges (f.eks. hvis du har flere), skal du bruge XML-navneområdepræfikser:
-- define the XML namespace
;WITH XMLNAMESPACES('bar' as b)
SELECT
x.u.value('b:Name[1]', 'varchar(100)') as Name
from
@XMLDOC.nodes('/b:Feed/b:Product') x(u)