How can get the data of duplicate tags as comma separated value of xml in sql server using sp_xml_preparedocument? -
घोषणा @IDoc int decalar @ doc varchar (1000) SET @doc = '& lt; प्रश्न & gt; & LT; प्रश्न & gt; & LT; QuestionCode & gt; IFG_PG_P & lt; / QuestionCode & gt; & Lt; प्रश्नक्षेत्र & gt; प्लेट ग्लास कवरेज (वाई / एन) & lt; / QuestionText & gt; & Lt; FormNumber & gt; सीपी 1 9 15 & lt; / FormNumber & gt; & LT; AnswerType & gt; बूलियन & lt; / AnswerType & gt; & LT; ChargeType & gt; संस्करण & lt; / ChargeType & gt; & LT; ChargeAmount & gt; 3.0000 & lt; / ChargeAmount & gt; & LT; RateBasis & gt; भिन्न & lt; / RateBasis & gt; & LT; LOB & gt; संपत्ति & lt; / LOB & gt; & LT; सीमा & gt; & LT; स्ट्रिंग & gt; 25000 & lt; / स्ट्रिंग & gt; & LT; स्ट्रिंग & gt; 50000 & lt; / स्ट्रिंग & gt; & Lt; / सीमाएं & gt; & LT; LimitMin & gt; 1 & lt; / LimitMin & gt; & LT; LimitMax & gt; 2500 और lt; / LimitMax & gt; & LT; ExposureMin & gt; 1 & lt; / ExposureMin & gt; & LT; ExposureMax & gt; 2000000000 & lt; / ExposureMax & gt; & Lt; / प्रश्न & gt; & lt; / प्रश्न & gt; ' EXEC sp_xml_prepared document @idoc OUTPUT, @doc चयन प्रश्नकोठ, प्रश्न पाठ, फ़ॉर्म नंबर, उत्तर टाइप, चार्जटाइप, चार्जमाउंट, रेटबैसिस, लोब, स्ट्रिंग, लिमिट मीन, लिमिट मैक्स, एक्स्पोज़रमैन, एक्स्पोज़रमैक्स, प्रीमियम से ओपनएक्सएमएल (@आईडोक, 'प्रश्न / प्रश्न / सीमाएं' 2) साथ (QuestionCode VARCHAR (100) '../QuestionCode', प्रश्न पाठ VARCHAR (100) '../QuestionText', फ़ॉर्म नंबर VARCHAR (100) '../formNumber', उत्तर टाइप VARCHAR (100) '..//// उत्तरटाइप ', चार्जटाइप VARCHAR (100)' ../ChargeType ', चार्जमाउंट VARCHAR (100)' ../ChargeAmount ', रेटबैसिस VARCHAR (100)' ../RateBasis ', LOB VARCHAR (100)' ../LOB ' , स्ट्रिंग varchar (100) '।', लिमिट मीन VARCHAR (100) '../LimitMin', सीमा मैक्स VARCHAR (100) '../LimitMax', एक्सपोज़रमिन VARCHAR (100) '../xxposuremin', एक्सपोजरमैक्स VARCHAR (100 ) '../ExposureMax', प्रीमियम VARCHAR (100) '../Premium') EXEC sp_xml_removed document @idoc यहां मेरे पास & lt; सीमाएं & gt; टैग जिसके पास & lt; स्ट्रिंग & gt; डुप्लिकेट टैग हैं मैं कैसे सीएमएल सर्वर में अलग कॉमा में स्ट्रिंग का डेटा प्राप्त कर सकता हूं मुझे लगता है कि sp_xml_preparedocument की ऐसी सुविधा है क्या कोई मुझे बताए कि मैं यह कैसे कर सकता हूं?
आप डेटा को सीमाओं में निकाल सकते हैं < / कोड> एक्सएमएल के रूप में और नोड्स () को स्ट्रिंग मूल्यों और xml के लिए का उपयोग करें ताकि अल्पविराम से अलग मान उत्पन्न हो सके। चुनें प्रश्नकोंड, प्रश्नोत्तर, फॉर्म नंबर, उत्तर टाइप, चार्जटाइप, चार्जमाउंट, रेटबैसिस, लोब, (चयन करें ',' + TX वेल्यू ('पाठ () [1]' , 'Varchar (100)') xml पथ (''), प्रकार) के लिए टी (एक्स) के रूप में सीमाओं ('सीमाएं / स्ट्रिंग') से)। Value ('substring (text () [1], 2)' , 'वर्कर (अधिकतम)') स्ट्रिंग, लिमिटमिन, लिमिट मैक्स, एक्सपोज़रमैन, एक्स्पोज़रमैक्स, प्रीमियम से ओपनएक्सएमएल (@ एआईडीक, 'प्रश्न / प्रश्न', 2) के साथ (प्रश्नकोड VARCHAR (100), प्रश्न पाठ VARCHAR (100), फार्म नंबर VARCHAR (100), उत्तरटाइप VARCHAR (100), चार्जटाइप VARCHAR (100), चार्जमाउंट VARCHAR (100), रेटबैसिस VARCHAR (100), LOB VARCHAR (100), सीमेट्स एक्सएमएल, लिमिट मीन VARCHAR (100), लिमिट मैक्स VARCHAR (100), एक्स्पोज़रमिन VARCHAR (100 ), एक्स्पोज़रमैक्स VARCHAR (100), प्रीमियम वैचाैआर (100)) आप इस तरह की पूरी क्वेरी के लिए XML डेटाटाइप भी इस्तेमाल कर सकते हैं।
घोषित करें @ एक्सएमएल एक्सएमएल = डॉक करें टेक्नोलॉजी ('(प्रश्नको / पाठ ()) [1]', 'varchar (100)') प्रश्न ()) [1] ',' varchar (100) ') प्रश्नपत्रिका के रूप में, टेक्साइल (' (फॉर्म नंबर / पाठ ()) [1] ',' varchar (100) ') फॉर्मएम्बर, टेक्साइल (' ( उत्तर टाइप / टेक्स्ट ()) [1] ',' varchar (100) ') उत्तरटाइप, टेक्साइल (' (चार्जटाइप / पाठ ()) [1] ',' varchar (100) ') चार्जटाइप, टेक्साइल ( कार्बेजअमैन, टेक्साइल्यू ('(रेटबैसिस / टेक्स्ट ()) [1]', 'varchar (100)') के रूप में रेटबासीस, टेक्सास के रूप में (प्रभारमार्ग / पाठ ()) [1] ',' varchar (100) ') मूल्य ('(LOB / text ()) [1]', 'varchar (100)') LOB के रूप में, (चयन करें ',' + T2.X.value ('text () [1]', 'varchar (100) ) 'Xml पथ (' '), प्रकार) के लिए टी 2 (एक्स) के रूप में TXnodes (' सीमाएं / स्ट्रिंग ') से) .value (' substring (text () [1], 2) ',' varchar (max) ') स्ट्रिंग के रूप में, TX वेल्यू (' (LimitMin / text ()) [1] ',' varchar (100) ') LimitMin, TXv के रूप में एल्यूइए ('(लिमिट मैक्स / टेक्स्ट ()) [1]', 'varchar (100)') लिमिट मैक्स, टेक्साइल्यू ('(एक्स्पोज़रमिन / टेक्स्ट ()) [1]', 'varchar (100)') एक्सपोज़रमैन एक्सक्लोजर मैक्स, टेक्साइल्यू ('(प्रीमियम / टेक्स्ट ()) [1]', 'वर्चार (100)'), एक्सक्लोजर मैक्स, टेक्साइल्यू ('(एक्स्पोज़रमैक्स / टेक्स्ट ())', 'व्हर्चार (100)') प्रीमियम के रूप में @ XML.nodes ('प्रश्न / प्रश्न') से टी (एक्स) के रूप में
Comments
Post a Comment