यदि आपके XML दस्तावेज़ में XML नामस्थान हैं, तो आपको अपने प्रश्नों में उन पर विचार करने की आवश्यकता है!
तो अगर आपका एक्सएमएल आपके नमूने जैसा दिखता है, तो आपको चाहिए:
-- 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)
या यदि आप स्पष्ट नियंत्रण रखना चाहते हैं कि किस एक्सएमएल नेमस्पेस का उपयोग करना है (उदाहरण के लिए यदि आपके पास एकाधिक हैं), तो एक्सएमएल नेमस्पेस प्रीफिक्स का उपयोग करें:
-- 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)