मान लें कि आपके पास आपका XML एक SQL सर्वर वैरिएबल में है जिसे @XML . कहा जाता है , आप मूल XQuery . का उपयोग कर सकते हैं SQL सर्वर 2005 में समर्थन और इसे और अधिक सुरुचिपूर्ण ढंग से और कुशलता से करने के लिए नया:
DECLARE @XML XML = '...(your XML here).....'
SELECT
RootID = @xml.value('(/Root/@ID)[1]', 'int'),
ConditionSetOperator = XC.value('@Operator', 'varchar(50)'),
ConditionID = XC2.value('@ID', 'int'),
ConditionOperator = XC2.value('@Operator', 'varchar(50)')
FROM
@Xml.nodes('//ConditionSet') AS XT(XC)
CROSS APPLY
xc.nodes('Condition') AS XT2(XC2)
यह मुझे
. का आउटपुट देता है

XQuery ऑपरेटरों जैसे .nodes() . के साथ या .value() , आप आसानी से एक XML दस्तावेज़ को रिलेशनल डेटा में "श्रेड" कर सकते हैं और आवश्यकतानुसार स्टोर कर सकते हैं।
@xml.nodes('//ConditionSet') . पर पहली कॉल प्रत्येक मिलान नोड के लिए एक "छद्म" तालिका मिलेगी - इसलिए प्रत्येक <ConditionSet> नोड "छद्म" तालिका में वापस आ जाएगा XT कॉलम के रूप में XC , और फिर मैं .value() जैसे XQuery विधियों का उपयोग करके उस XML खंड से आसानी से विशेषताएँ (या XML तत्व) प्राप्त कर सकता हूँ ।
या मैं उप-नोड्स की सूची भी ले सकता हूं <Condition> उनमें से प्रत्येक के लिए <ConditionSet> नोड्स - CROSS APPLY . का उपयोग करके दूसरी कॉल के साथ .nodes()