2012-11-26 13 views
5

में एक्सएमएल ऑब्जेक्ट को Deserialize मुझे एक एक्सएमएल ऑब्जेक्ट मिला है। और मैं टी-एसक्यूएल का उपयोग कर इसे एक टेबल में deserialize करना चाहता हूँ।
टी-एसक्यूएल

<Params> 
    <type = 1> 
     <value> 10 </value> 
    </type> 

    <type = 2> 
     <value> abc </value> 
    </type> 
</Params> 

कैसे मैं इस तरह एक तालिका में इस डाटा स्टोर कर सकते हैं:
enter image description here

धन्यवाद!

+2

आप नहीं कर सकते। आपका एक्सएमएल मान्य नहीं है। – GSerg

+0

आपके xml प्रकार = 1 के साथ कुछ गलत है वैध xml टैग –

उत्तर

11

आपका एक्सएमएल मान्य नहीं है - लेकिन आप कुछ इस तरह था:

<Params> 
    <type ID="1"> 
     <value> 10 </value> 
    </type> 
    <type ID="2"> 
     <value> abc </value> 
    </type> 
</Params> 

तो आप इस XQuery/एसक्यूएल बयान का उपयोग आप जो खोज रहे हैं पाने के लिए कर सकते हैं:

DECLARE @XML XML = '<Params> 
    <type ID="1"> 
     <value> 10 </value> 
    </type> 
    <type ID="2"> 
     <value> abc </value> 
    </type> 
</Params>' 

SELECT 
    Type = TypeNode.value('@ID', 'int'), 
    NodeValue = TypeNode.value('(value)[1]', 'varchar(50)') 
FROM 
    @XML.nodes('/Params/type') AS XTbl(TypeNode) 

मैं स्पष्ट नहीं हूं कि कैसे/id कॉलम होना चाहिए - समझाने की देखभाल?

+0

यह 'row_number()' है, मुझे लगता है। – GSerg

+0

धन्यवाद, मुझे यही चाहिए !!! – nykolas