मेरे पास इस तरह का XML मान है:
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
</R>
मैं सभी I
मानों को सम्मिलित करना चाहता हूं और उन्हें एक स्ट्रिंग के रूप में वापस करता हूं ABC...
:।
अब मुझे पता है कि मैं XML को निकाल सकता हूं, परिणाम को एक नोडलेस XML के रूप में वापस एकत्र कर सकता हूं, और .values('text()[1]', ...)
परिणाम पर लागू कर सकता हूं :
SELECT
(
SELECT
n.n.value('text()[1]', 'varchar(50)') AS [text()]
FROM
@MyXml.nodes('/R/I') AS n (n)
FOR XML
PATH (''),
TYPE
).value('text()[1]', 'varchar(50)')
;
हालाँकि, मैं केवल XPath / XQuery विधियों का उपयोग करते हुए कुछ ऐसा करना चाहूंगा:
SELECT @MyXml. ? ( ? );
क्या ऐसा कोई रास्ता है?
मैं इस दिशा में एक समाधान की तलाश कर रहा हूं, क्योंकि मेरे वास्तविक XML में अन्य तत्व भी हैं, उदाहरण के लिए:
<R>
<I>A</I>
<I>B</I>
<I>C</I>
...
<J>X</J>
<J>Y</J>
<J>Z</J>
...
</R>
और मैं दोनों I
मानों को एक स्ट्रिंग के रूप में और एक स्ट्रिंग के रूप में मानों को निकालने में सक्षम होना चाहूंगा, J
प्रत्येक के लिए एक अस्पष्ट स्क्रिप्ट का उपयोग किए बिना।